VS2008 C++コンパイル時に「error C2590: ベース/メンバ初期化子リストを持つことができるのはコンストラクタだけです。」
またもVS2008 C++コンパイル時にはまった。2日連続である。
「error C2590: ベース/メンバ初期化子リストを持つことができるのはコンストラクタだけです。」が出る。
初期化子リストとは、コンストラクタでメンバ変数に初期値を入れておくときに指定するもの。
MyClass::MyClass(void)
:member1(0)
,member2(0)
{
}```
じゃ、一体なぜエラーが発生するのだろう?
```cpp
class MyClass
{
public:
MyClass(void);
virtual ~MyClass(void);
static void myfunction1(DWORD dwSize);
static void myfunction2(DWORD dwSize):
};```
原因は<span style="color: #ff0000;">クラス定義内の関数宣言末尾の「:」コロン</span>だ。。<span style="color: #ff0000;">打ち間違えている!!</span>VisualStudioのフォントを小さなものに設定していたので気が付かなかった...こんなことで大丈夫なのだろうか。。