创建类原型时出错

时间:2014-05-29 09:50:35

标签: c++

任何人都可以帮助我吗? 我想创建两个需要彼此的类,如:

class CBullet{
  public:
         bool DetectCollision(CEnemy enemy){
              //some code here
         }
};

class CEnemy{
  public:
         CBullet *shootedBullet;
};

这会造成错误。我知道这个错误的原因是因为CBullet类想要使用尚未创建的CEnemy类。所以,我尝试在CEnemy类之前创建CBullet类的原型,如:

class CEnemy;

class CBullet{
...

但它会创建另一个错误enemy的类型不完整。 我做了一个错误的原型课吗?

1 个答案:

答案 0 :(得分:0)

以另一种方式执行,因为在您的示例中,CBullet需要CEnemy定义(请注意,如果Cenemy通过指针/引用传递给DetectCollision,则不会这样做):

#include "CEnemy.h"
class CBullet{
  public:
         bool DetectCollision(CEnemy enemy){
              //some code here
         }
};

and

class CBullet;
class CEnemy{
  public:
         CBullet *shootedBullet;
};