现在的位置: 首页 > 综合 > 正文

[c++] typedef 无法前置声明

2013年12月13日 ⁄ 综合 ⁄ 共 248字 ⁄ 字号 评论关闭

为了减少c++文件的编译依赖,前置声明经常使用,特别是在头文件中,如果不是必要,对于class基本都使用前置声明,而不是直接#include。

今天遇到一个问题,需要在某类的头文件里面引用到另外一个“类”,因此自然使用了前置声明,但是居然编译不过,显示定义冲突。

查了一下,原来被引用的“类”其实不是一个类,而是一个struct的typedef,非常老套的c写法:

typedef struct _foo

{

}foo;

查了一下,对于typedef根本没有办法前置声明。无论是class还是struct都不行。

抱歉!评论已关闭.