なんかアホみたいな事でハマったのでメモ。
クラスを書く時、最近はヘッダファイルの中にメンバ関数も全部入れるのが
楽なのでそうやっている。正しいのかどうかは知らんがデバッグもしやすいし、
別のプロジェクトにも持っていきやすいのでそうしている。
今回新しくプロジェクトを作って、そのようにクラスのヘッダファイル内に
メンバ関数を入れてみた所、ビルド時にエラー。
いつもの感じでやってるのになんで!?
結構ハマった・・。
良く調べてみたら、ヘッダファイルと一緒にcppファイルも用意しており、
そういう場合はcppにメンバ関数を入れないとダメなのね。
file.hの中身
class test{
void init(void);
};
void test::init(void){
}
file.cppの中身
#include "file.h"
この状態ではエラー。
そんな事どこにも書いてないよ!いや、書いてあるかもだけど、わかり
にくいよ!
それに気づいたので、cppファイルを削除したらあっさりビルド通った。
なんだかなぁ・・。
0 件のコメント:
コメントを投稿