NT_*_*TEM 0 c++ linux enums g++
我刚刚从Windows(Visual Studio)切换到Linux(Mint),现在我正在使用QTCreator进行普通的c ++项目.虽然当我尝试编译我正在使用VS2010的项目时,一切似乎工作正常,但g ++不接受以下语法.
enum{
LINE,
POLYGON,
TRIANGLE
}Shapes;
Run Code Online (Sandbox Code Playgroud)
......很多代码......
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);
Run Code Online (Sandbox Code Playgroud)
(G ++)返回:形状不是类或命名空间; 即使它与VS2010完美匹配.
我想你想要的
enum Shapes{
LINE,
POLYGON,
TRIANGLE
};
Run Code Online (Sandbox Code Playgroud)
这声明了一个枚举类型Shapes,但是您所定义的是一个变量Shapes类型(没有名称),它是一个枚举.
| 归档时间: |
|
| 查看次数: |
651 次 |
| 最近记录: |