两个类相互调用如何处理??
在java中可以两个类之间相互调用.我在改写成c++程序时遇到了问题.
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <iostream>
#include <cstdlib>
using namespace std;
class a
{
b bb;
};
class b
{
a aa;
};
int main(int argc, char *argv[])
{
cout < < "Hello, world! " < < endl;
return EXIT_SUCCESS;
}
编译出错
cd '/home/worker/fdsafd/debug ' && WANT_AUTOCONF_2_5= "1 " WANT_AUTOMAKE_1_6= "1 " gmake -k
正在编译 fdsafd.cpp (g++)
/home/worker/fdsafd/src/fdsafd.cpp:32: error: `b ' does not name a type
正在编译 a.cpp (g++)
/home/worker/fdsafd/src/b.h:33: error: `a ' does not name a type
*** 退出状态:2 ***
这该怎么办呢? 谢谢大家
[解决办法]
class b;
class a
{
b* bb;
};
class b
{
a aa;
};
这样即可,但前面的成员必须为指针,.