我只是C ++的新手,所以请多多包涵。在我的类MyArena
中,我创建了另一个类fighters
的指针Fighter
的向量。使用此向量,我正在收集Fighter指针并为其调用函数。但是我不断收到fighters
的错误。
#include <vector>
using namespace std;
class Fighter;
class MyArena {
vector<Fighter*> fighters;
int current_size = 0;
bool MyArena :: addFighter(string info){
for (int i = 0; i < 11; i++){
if (fighters[i]->getName() == n) //error that "point to incomplete pass type is not allowed?"
isLegit = false;
}
fighters.push_back(new Fighter(n, t, mH, st, sp, m)); //"Fighter" is incomplete type?
return true;
}
bool removeFighter(string name){
for (int i = 0; i < 11; i++){
if (fighters[i]->getName() == name)//error that "point to incomplete pass type is not allowed?"
fighters[i] = NULL;
}
}
};
我应该如何处理?
最佳答案
您向前在此处声明课程:
class Fighter;
但是您从未包含该文件。将此放在您的其他include之后
#include "Fighter.h"
如果
Fighter.h
在另一个文件夹中,则可以使用相对路径。