#概要
関数のデフォルト引数の指定実装でちょっとハマった件のめも
#環境
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(意訳:デフォルト引数が再定義されています。)