去通过gcc版本4.4.2,看来说一种方法来做C++“typedef struct foo foo;”对于C
typedef struct foo foo;
// more code here - like function declarations taking/returning foo*
// then, in its own source file:
typedef struct foo
{
int bar;
} foo;
是合法的C++,但不是在C.
当然,我有一段代码,通过编译用C++罚款使用foo类型,但它似乎我必须使它使用struct foo(在头文件中),以使其与其他开发人员编写的一些C代码一起工作。
有没有办法预先声明中GCC℃的结构的typedef富富没有编译用于C时,会出现“类型定义‘富’的重新定义”错误? (我不想结构的typedef _foo富的轻微违法和不干净的下划线溶液)
重复请参阅http://stackoverflow.com/questions/1492735/differences-between-struct-in-c-and-c/ – joshperry 2009-12-30 15:03:01