我正在使用xcode在C++ X10.6.2上开发一个macOS项目。
我试着在windows上编译我的代码,没有任何问题,我想Linux正在工作,但我现在还没有。
我的问题是xcode不接受这种指令:
struct direction {
double x;
double y;
double z;
double t; };
typedef struct direction direction;以下是我的错误:
/Users/sbarbier/dev/xcode/Infographie/TP9-RayTracing/RayTracing-Direction.h:22:0 /Users/sbarbier/dev/xcode/Infographie/TP9-RayTracing/RayTracing-Direction.h:22:错误:“方向”的含义从“结构方向”到“方向”的变化
我正在使用GCC4.2并且没有改变任何东西。这个代码在每个平台上都能工作,有人能帮我吗?
发布于 2009-11-24 09:53:01
这不是C。在C中,要使用struct,必须使用关键字struct
struct some_struct{ int i; };
struct some_struct myStruct;这种情况通常是这样减轻的:
typedef struct { int i; } some_struct;
some_struct myStruct;在C++中,这不是必需的。direction已经有了一个类型,然后尝试创建一个同名的新类型,这很糟糕。拿出你的整个typedef,它是不需要的。
发布于 2010-11-28 18:14:34
在C++中,struct和class仅在声明或定义结构或类时使用。您可能希望在C中使用ty胡枝子,但在C++中却没有任何意义。
https://stackoverflow.com/questions/1788879
复制相似问题