LoginSignup
1
2

More than 5 years have passed since last update.

[C++]関数のデフォルト引数の指定でハマった件

Last updated at Posted at 2018-08-22

概要

関数のデフォルト引数の指定実装でちょっとハマった件のめも

環境

MacOSX10.13
XCode8.3.3
C++11

ソース

void hoge (char* foo = "bar");

void hoge (char* foo = "bar"){

}

int main() {

    hoge();

}
  • 以下のビルドエラーが発生した。
Redefinition of default argument

原因

ヘッダーとソース両方で、デフォルト値を設定していた為

修正後のソース

void hoge (char* foo = "bar");

void hoge (char* foo){    //修正前:char* foo = "bar"

}

int main() {

    hoge();

}
  • エラーメッセージはよく見ないとハマりますね。
  • メッセージを見ると一目瞭然でした。
  • Redefinition of default argument(意訳:デフォルト引数が再定義されています。)
1
2
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2