为什么编译器不让我向前声明typedef?假设这是不可能的,那么使我的包含树变小的最佳实践是什么?
3 回答
呼唤远方
TA贡献1856条经验 获得超11个赞
对于像我这样的人,他们希望向前声明使用typedef定义的C样式结构,在某些C ++代码中,我找到了一种解决方法,如下所示:
// a.h
typedef struct _bah {
int a;
int b;
} bah;
// b.h
struct _bah;
typedef _bah bah;
class foo {
foo(bah * b);
foo(bah b);
bah * mBah;
};
// b.cpp
#include "b.h"
#include "a.h"
foo::foo(bah * b) {
mBah = b;
}
foo::foo(bah b) {
mBah = &b;
}
- 3 回答
- 0 关注
- 599 浏览
添加回答
举报
0/150
提交
取消