c++ - 如何使用 typdef 名称 C++ typedef 模板类

标签 c++ templates typedef typename

我有这个 typedef:

typedef uint16_t MCPhysReg;

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

typedef MapVector<unsigned, MCPhysReg> ConsecRegsMap;

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

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 是什么?

关于c++ - 如何使用 typdef 名称 C++ typedef 模板类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51821511/

相关文章:

c++ - 将 typedef 制作为文件或子类的本地文件

c - 将结构指针或数组作为函数参数传递

c++ - Opencv Mat vector 分配给矩阵的一行,最快的方法?

c++ - 为什么模板只能在头文件中实现?

有人可以解释这个 'typedef' 的含义吗?

c++ - 在模板类中使用标准容器迭代器

c++ - 使用类模板需要模板参数

c++ - 如何判断是使用 '->'还是 '.'

c++ - Linux C++ : Linker is outputting strange errors

c++ - 不完整类型的标准容器