【发布时间】:2010-11-29 02:29:49
【问题描述】:
我遇到了这样的问题:UPDATE
class A
{
public:
A(){}
int i;
B b;
};
class B
{
public:
B(){}
int j;
A a;
};
当我在一个 .h 文件中定义它时,它会报错。我认为问题在于递归定义。但是有人可以帮我解决这个问题吗?
error C2146: syntax error : missing ';' before identifier 'b' c:\users\xingyo\documents\visual studio 2010\projects\cppalgo\recudef\test1.h 9 1 RecuDeferror C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\users\xingyo\documents\visual studio 2010\projects\cppalgo\recudef\test1.h 9 1 RecuDeferror C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\users\xingyo\documents\visual studio 2010\projects\cppalgo\recudef\test1.h 9 1 RecuDef
【问题讨论】:
-
你到底想做什么?您给出的示例包含错误,让我们猜测。您真的是要在类
A中声明一个嵌套类class B等吗?那不会是递归的。此外,如果您遇到错误请告诉我们该错误是什么。解决错误的第一步是了解错误。 -
对不起,我已经更新了问题
标签: c++