【发布时间】:2018-08-13 11:39:07
【问题描述】:
我有这个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 {
...
}
但我收到此错误:
语法错误:缺少';'在'之前
有什么想法吗?
【问题讨论】:
-
在排版时感觉 MapVector 是不完整的。它是在你 typedef 之前包含的吗?您可以尝试定义一个包含 MapVector 而不是 typedef 的类吗?只是为了确保它是一个完整的类型。
-
无法重现错误
标签: c++ templates typedef typename