我只是C ++的新手,所以请耐心等待。在我的班级MyArena
中,我制作了另一个班级fighters
的指针向量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;
}
}
};
我该如何处理?
答案 0 :(得分:1)
您可以在此处声明该课程:
class Fighter;
但你从未包含该文件。把它放在你的另一个包含之后
#include "Fighter.h"
如果它位于不同的文件夹中,则转到Fighter.h
的相对路径。