可能重复:
What is an undefined reference/unresolved external symbol error and how do I fix it?
我有一个游戏程序,我非常沮丧。一切都运行良好,我决定通过为每组功能制作单独的文件来清理我的程序。代码很长,包含多个文件,但这是基本的想法:
我在Windows XP上使用Code :: Blocks IDE
在我的entity.h中,我已经为该类声明了我的所有函数和变量。在我的entity.cpp中我已经包含它,以及我的所有其他文件。但我仍然得到一个巨大的错误列表,告诉我我对entity.h中的所有方法以及我所有其他头文件都有一个未定义的引用。例如,我有一个函数调用print(),以便更容易打印出来,这就是我从entity.h文件调用的第一个方法。我收到这个错误:
下面是print()的代码:
void print(string f) {
cout<<f<<endl;
}
我如何称呼它:
void Player::win(){
entity e;
e.print("You have defeated the orc");
} 错误:
In function 'ZN6Player3winEv': undefined reference to 'entity::print(std::string)'
是的,我确实有一个实体的对象。 它也适用于实体类和文件中的每个其他函数。
答案 0 :(得分:2)
void print(string f) {
cout<<f<<endl;
}
应该是
void entity::print(string f) {
cout<<f<<endl;
}
答案 1 :(得分:0)
void print(string f) {
cout<<f<<endl;
}
是一个全局函数
如果你想打电话
e.print("You have defeated the orc");
然后你需要一个
的实现void entity::print(string f)