0
我想创建一个下列类的一个实例:试图创建类的实例会引发虚函数表错误XCode中
#ifndef Sik_GameEntity_h
#define Sik_GameEntity_h
class GameEntity {
public:
~GameEntity(){};
void setup();
void update();
void draw();
void clear();
protected:
private:
};
#endif
所有这些方法(减去解构)在我的.cpp跃然纸上文件。
for (int i = 0; i < nEntities; i++)
{
GameEntity ent;
ent.setup();
entities.push_back(ent);
}
我正在创建一个实例并将其插入到游戏实体对象的向量中。当我创建一个实例,从我的XCode出现以下错误:]
Undefined symbols for architecture i386:
"GameEntity::GameEntity()", referenced from:
appCore::setup() in appCore.o
"GameEntity::~GameEntity()", referenced from:
appCore::setup() in appCore.o
std::vector<GameEntity, std::allocator<GameEntity> >::_M_insert_aux(__gnu_cxx::__normal_iterator<GameEntity*, std::vector<GameEntity, std::allocator<GameEntity> > >, GameEntity const&) in appCore.o
void std::_Destroy<GameEntity>(GameEntity*) in appCore.o
"vtable for GameEntity", referenced from:
GameEntity::GameEntity(GameEntity const&) in appCore.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
ld: symbol(s) not found for architecture i386
我已经尝试添加一个构造函数,但它并没有区别,我还是收到了同样的错误。这显然是我在课堂上做错了吗?
编辑: 我忘了提及,我清理了我的构建。
发表您的appcore ::设置()函数,并且它包括 – johnathon
您需要发布的拷贝构造函数。 – Puppy