我正在尝试编译以前正在运行的代码
达到c++11
标准。我只是把
-std=c++0x
<{1>}文件中的。
现在,编译器抱怨, 给我这个错误:
Makevars
这是违规行:
29:43: error: ‘Iterator’ does not name a type
29:58: error: ‘Iterator’ has not been declared
29:75: error: ‘Iterator’ does not name a type
我应该在代码中添加什么来解决这个问题?
该函数的原始声明是
extern inline bool nextone(const Iterator first,Iterator k,const Iterator last);
答案 0 :(得分:1)
如果您知道nextone
将在其他地方实例化,请使用extern template强制编译器不实例化它,从而减少编译时间和目标代码大小。
extern template <typename Iterator>
inline bool nextone(const Iterator first,Iterator k,const Iterator last);