读书人

imcomplete type,该怎么处理

发布时间: 2012-04-19 14:36:43 作者: rapoo

imcomplete type
我遇到一个问题,当我定义两个类时:
[code=C/C++][/code]
class A;
class B;
class A{
public :int x;
void Print(B b){ b.x++;}
};
class B{
public :int x;
void Print(A a){ a.x++;}
};
...
这样写编译不过,在VC++6.0 和 G++ 都不可以。怎么办?


VC 6.0 : error :use of undefined type 'B'
G++ :具体的忘了,大概就是说A::Print()函数 use incomplete type B.

[解决办法]
class A;
class B;
class A{
public :int x;
void Print(B b);
};
class B{
public :int x;
void Print(A a);
};
void A::Print(B b){ b.x++;}
void B::Print(A a){ a.x++;}

读书人网 >C++

热点推荐