int main() {
B bb; //does not compile (neither does class B bb;)
C cc; //does not compile
struct t tt; //compiles
class B {}; //HERE is the class B defination
struct s { struct t * pt; }; //compiles
struct t { struct s * ps; };
return 0;
}
class C {};
我刚刚修改了这里给出的例子。
为什么结构前向声明有效但类前向声明无效?
它与命名空间有关tag namespace
吗typedef namespace
?我知道没有 typedef 的结构定义会进入标记命名空间。
结构只是具有所有公共成员的类。所以,我希望他们表现得相似。