錯誤:Cell.h的第12行:'Actor'未聲明的標識符。指向對象指針的未聲明標識符向量
如果我嘗試在它上面轉發聲明,它說有一個重新定義。我該怎麼辦?
Actor.h:
#ifndef ACTOR_H
#define ACTOR_H
#include <iostream>
#include <vector>
#include <string>
#include "Cell.h"
using namespace std;
class Actor //Simple class as a test dummy.
{
public:
Actor();
~Actor();
};
#endif
Cell.h:
#include <iostream>
#include <string>
#include <vector>
#include "Actor.h"
#ifndef CELL_H
#define CELL_H
using namespace std;
class Cell // Object to hold Actors.
{
private:
vector <Actor*> test;
public:
Cell();
~Cell();
vector <Actor*> getTest();
void setTest(Actor*);
};
#endif
Cell.cpp:
#include "Cell.h"
#include <vector>
vector<Actor*> Cell::getTest() //These functions also at one point stated that
{ // they were incompatible with the prototype, even
} // when they matched perfectly.
void Cell::setTest(Actor*)
{
}
我還能做什麼?
進行編輯,得到與上面評論中所述相同的錯誤。 – valkn0t
@Twshal這是一個不同的問題。這個和我的答案解決了最初的問題。如果我的評論沒有幫助,請提出一個新問題。 [so]已經存在,但你必須自己找到它們。我已經給你看過了。 –
非常感謝您的幫助,Luchian!然而這是Robs的回答,我拿走了它已經修復它。你們都有類似的答案,他只是給了更多正確的東西,並提供了一個原因,爲什麼它不起作用。 – valkn0t