Pbl xcode C ++ typedef struct toto toto

时间:2009-11-24 09:18:28

标签: xcode macos struct g++ typedef

我正在使用xcode在macOS X 10.6.2上开发一个C ++项目。

我试图在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:错误:从'typedef struct direction direction'改变'direction'的含义

我正在使用GCC4.2而且没有改变任何东西。这段代码适用于每个平台,任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

这不是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,不需要。

答案 1 :(得分:0)

在C ++中,structclass仅在声明或定义结构或类时使用。你可能想要C中的typedef,但在C ++中它没有任何意义。