【发布时间】:2009-05-09 16:45:06
【问题描述】:
当我尝试编译以下代码时...
#include <vector>
template <class T> void DoNothing()
{
std::vector<T>::iterator it;
}
int main(int argc, char**argv)
{
return 0;
}
g++ 说:
test.cpp:5: 错误:预期 `;'前 ‘它’
我不明白为什么这是个问题。如果我用std::vector<int>::iterator 替换它,比如说,它可以正常工作。
如你所见,我没有实例化函数,所以 g++ 肯定是模板定义本身有问题,但我看不出它是如何无效的。
感谢您对正在发生的事情的任何建议。
注意,我实际上是在尝试编写一个模板类,但遇到了地图而不是矢量的问题,但这是解决我的问题的最简单的测试用例。
【问题讨论】: