On vs2005 all is a fine,but on vs2013 is not work. I have code:
template <
typename _path_builder,
typename _vertex_allocator
>
struct CBuilderAllocatorConstructor {
template <template <typename _T> class _vertex>
class CDataStorage :
public _path_builder::CDataStorage<_vertex>,
public _vertex_allocator::CDataStorage<typename _path_builder::CDataStorage<_vertex>::CGraphVertex>
{
public:
typedef typename _path_builder::CDataStorage<_vertex> CDataStorageBase;
typedef typename _vertex_allocator::CDataStorage<
typename _path_builder::CDataStorage<
_vertex
>::CGraphVertex
> CDataStorageAllocator;
typedef typename CDataStorageBase::CGraphVertex CGraphVertex;
typedef typename CGraphVertex::_index_type _index_type;
public:
IC CDataStorage (const u32 vertex_count);
virtual ~CDataStorage ();
IC void init ();
};
};
But after porting on vs 2013 i'm got error: on line
typedef typename _path_builder::CDataStorage<_vertex> CDataStorageBase;
error C2143: syntax error : missing ',' before '<' what is happen?
EDIT: thanks all for reply,i'm all corrected