编译器混淆了STL迭代器类型声明

时间:2014-06-06 14:46:38

标签: c++ compiler-construction stl containers

我正在使用默认编译器运行Microsoft Visual Studio 2008,并且正在尝试构造DLL以供将来使用。我碰到了这个问题:

这没关系:

std::vector< FVert<P>* > fvert;

其中FVert是我项目中的一个类。

这也没关系:

std::vector< int >:: iterator fvert;

但是当我尝试这个时:

std::vector< FVert<P>* >:: iterator fvert;

编译器失去理智。我收到以下错误:

error C2146: syntax error : missing ';' before identifier 'fvert'

它在项目的每个地方都这样做,我在尝试编译之前在很多地方集成了这种类型,所以我得到了114个错误,所有关于同一类型的错误都被识别了!

C ++中是否允许对类对象的指针向量iterator

我无法在网上找到任何暗示这一点但又一次,我可以想象这不是最常见的建筑。

感谢任何帮助!

0 个答案:

没有答案