如何使用 typdef 名称 C++ typedef 模板 class

How to typedef a template class with typdef name C++

我有这个typedef:

typedef uint16_t MCPhysReg;

我想声明(在另一个文件中):

typedef MapVector<unsigned, MCPhysReg> ConsecRegsMap;

MapVector 是一个模板 class(来自另一个文件):

template<typename KeyT, typename ValueT,
         typename MapType = llvm::DenseMap<KeyT, unsigned>,
         typename VectorType = std::vector<std::pair<KeyT, ValueT> > >
class MapVector {
...
}

但是我收到了这个错误:

syntax error: missing ';' before '<'

有什么想法吗?

所以在这个文件中包含另一个文件,否则你的编译器怎么会知道 MapVector 是什么?