またもVS2008 C++コンパイル時にはまった。2日連続である。

「error C2590: ベース/メンバ初期化子リストを持つことができるのはコンストラクタだけです。」が出る。

初期化子リストとは、コンストラクタでメンバ変数に初期値を入れておくときに指定するもの。

MyClass::MyClass(void)
	:member1(0)
	,member2(0)
{
}

じゃ、一体なぜエラーが発生するのだろう?

class MyClass
{

public:																			
	MyClass(void);
	virtual ~MyClass(void);

	static void myfunction1(DWORD dwSize);
	static void myfunction2(DWORD dwSize):

};

原因はクラス定義内の関数宣言末尾の「:」コロンだ。。打ち間違えている!!VisualStudioのフォントを小さなものに設定していたので気が付かなかった...こんなことで大丈夫なのだろうか。。