C++でコーディング中に発生したエラー「C2527」についてです。
デフォルト引数を使っていたら発生したので解決方法をメモ。
エラー内容
エラーの内容はコチラ。
エラー 1 error C2572: ‘TestClass::TestFunc’ : 既定パラメーターの再定義です: パラメーター 2
エラー 2 error C2572: ‘TestClass::TestFunc’ : 既定パラメーターの再定義です: パラメーター 1
エラー時のコード
エラー時のコードはこんな感じ。
// TestClass.cpp bool TestClass::TestFunc(const unsigned char& min=0, const unsigned char& max=0) { // 処理 }
// TestClass.h bool TestFunc(const unsigned char& min=0, const unsigned char& max=0);
解決方法
ヘッダーファイルの宣言だけ、デフォルト引数値を削除することで解決です。
// TestClass.h bool TestFunc(const unsigned char& min, const unsigned char& max);
環境
ちなみに環境です。
恐らくVisual StudioのC++であれば同じエラーとなると思います。
- Visual Studio 2010
- C++/CLI
あとがき
ということでエラーの解決方法についてでした。
備忘録に。