Я просто знаком с 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;
}
}
};
Как я должен подходить к этому?
'Истребитель' не определен. Переместите определения функции члена из заголовка и в файл '.cpp'. –
'Вопросы, требующие помощи по отладке (« почему этот код не работает? ») Должны включать в себя желаемое поведение, конкретную проблему или ошибку и кратчайший код, необходимый для воспроизведения в самом вопросе. Вопросы без четкого описания проблемы не полезны для других читателей. См.: [Как создать минимальный, полный и проверенный пример.] (Http://stackoverflow.com/help/mcve) –