lisz-works

技術系だけど関係ないこと多い系ブログ

【C++】C2527:デフォルト引数付関数の宣言でエラー

【スポンサーリンク】

プログラムのコード

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

あとがき

ということでエラーの解決方法についてでした。

備忘録に。