首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

typedef struct XXX XXX是宣言,还是实现

2012-08-09 
typedef struct XXX XXX是声明,还是实现?typedef struct MyPtr MyPtr这样,是声明,还是实现?我在GCC下编译

typedef struct XXX XXX是声明,还是实现?
typedef struct MyPtr MyPtr;
这样,是声明,还是实现?

我在GCC下编译通过了,不可思议那。

在我的印象中,struct MyPtr;只是用于声明的,可以避免编译期错误,但在link的时候不能通过的,所以还需要在其它地方定义实现一下:
struct MyPtr
{
};

请大侠帮忙解释一下,我现在有点想不通,呵呵。

[解决办法]
typedef在C中属于定义,在C++中属于声明。所以对于如下代码:

typedef struct MyPtr MyPtr;
typedef struct MyPtr MyPtr;


在C中会发生重复定义错误,但在C++中是合法的重复声明。

热点排行