从指针向量调用函数

时间:2014-09-05 23:31:08

标签: c++ function vector

我只是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;
        }
    }

};

我该如何处理?

1 个答案:

答案 0 :(得分:1)

您可以在此处声明该课程:

class Fighter;

但你从未包含该文件。把它放在你的另一个包含之后

#include "Fighter.h"

如果它位于不同的文件夹中,则转到Fighter.h的相对路径。