[multi_index]: Migration of code to VS12 does not compile anymore
Hello,
I'm porting some code fromVS10 to the VS12 compiler on windows. I have a
problem compiling code like the following:
//Test.cpp
#include
On 8/11/2014 5:05 PM, Johannes Brunen wrote:
Hello,
I'm porting some code fromVS10 to the VS12 compiler on windows. I have a problem compiling code like the following:
//Test.cpp
#include
#include
#include
#include
template<typename T>
class test
{
public:
typedef typename boost::multi_index_container <
T*,
boost::multi_index::indexed_by <
boost::multi_index::random_access<>,
boost::multi_index::hashed_non_unique < boost::multi_index::identity
> >
> container_t;
typedef typename container_t::nth_index<0>::type sequence_index_t;
};
This does not compile and gives the following error message:
1> Test.cpp
1>D:\test\Test.cpp(18): error C2059: syntax error : '<'
1> D:\test\Test.cpp(19) : see reference to class template instantiation 'test<T>' being compiled
1>D:\test\Test.cpp(18): error C2238: unexpected token(s) preceding ';'
I'm unable to find the reason for this error. Is it a compiler error, or is something wrong with my declaration?
Regards,
Johannes
You're missing the template keyword in front of nth_index: typedef typename container_t::template nth_index<0>::type sequence_index_t; VC is just being standard compliant here.
participants (2)
-
Johannes Brunen
-
Sergiu Dotenco