私はゲーム プログラムを持っていますが、非常にイライラしています。すべてが正常に動作していたので、関数のセットごとに個別のファイルを作成して、プログラムをクリーンアップすることにしました。コードは非常に長く、複数のファイルがありますが、基本的な考え方は次のとおりです。
Windows XP で Code::Blocks IDE を使用しています
私のentity.hで、そのクラスのすべての関数と変数を宣言しました。私のentity.cppには、他のすべてのファイルと同様にそれが含まれています。しかし、私はまだエンティティ.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)'
はい、私はエンティティのオブジェクトを持っています。エンティティクラスとファイルの他のすべての関数でも発生します。