我刚刚从Windows(Visual Studio)切换到Linux(Mint),现在我将QTCreator用于纯c ++项目。尽管当我尝试编译使用VS2010处理的项目时一切似乎都工作正常,但g ++将不接受以下语法。
enum{
LINE,
POLYGON,
TRIANGLE
}Shapes;
...很多代码...
gEngine.AddItem(1,0,Shapes::POLYGON,0,0,0);
gEngine.AddItem(1,2,Shapes::POLYGON,400,400,-1);
gEngine.AddItem(1,2,Shapes::POLYGON,800,400,-1);
gEngine.AddItem(1,2,Shapes::POLYGON,800,800,-1);
gEngine.AddItem(1,2,Shapes::POLYGON,400,800,-1);
gEngine.AddItem(1,2,Shapes::POLYGON,400,400,-1);
gEngine.AddItem(1,1,Shapes::POLYGON,0,0,0);
(G ++)返回:Shapes不是类或名称空间;即使它可以与VS2010完美编译。
最佳答案
没有类型Shapes
,但是您已经声明了一个名为Shapes
的变量。
要定义类型,请使用enum Shapes {...}
然后创建该类型的变量。
关于c++ - Shapes不是类或 namespace ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10506407/