初めまして、あやなと申します。
いつも大変お世話になっております。
早速ですが、質問の方に入りたいと思います。
現在、クラスを作り、それをヘッダファイルにまとめ、他の異なる多数のcppファイルからその
クラスをまとめたヘッダを読み込んでいます。
しかし、一つのファイルからヘッダを読み込む場合は良いものの、複数のファイルからデータを
読み込んだ場合、
『main.obj : error LNK2005: public: void __thiscall CSpriteEx::SetPos
(float,float) (?SetPos@CSpriteEx@@QAEXMM@Z) はすでに action.obj で定義されていま
す』
といったエラーがかなり出てしまいました。
このような場合、重複インクルードを防ぐ為、#ifndefや#pragma onceという事を調べて知
り、それを試してみたものの、相変わらず同じエラーが消えません。
過去ログや初心者向けのサイトを調べては見たものの、どうしても分からず、質問させていただ
きました。
とても初歩的なことかとも思いますが、どうぞ宜しくお願いいたします。
ヘッダファイルで、
void CSpriteEx::SetPos(float x, float y)
{
}
こんな風に、(クラスの定義の外に)メンバ関数の実装を書いてませんか?
もしそうなら、
メンバ関数の実装をそのクラス(CSpriteEx)用のソースファイル(.cpp)に移すか、
クラスの定義の中に移せばいいです。
kazuma様、とてもお早いお返事ありがとうございました。
クラス定義の外に間違って書いてしまっていたらしく、それを修正したところエラーもなくなり
正常に動くようになりました。
誠にありがとうございました。