さて、関数があるとしましょう
void fun(const MyStructure& argu1 = MyStructure(), MyStructure& argu2 = Mystructure())
argu2
関数の値を変更したいので、constではありません。
関数を呼び出すには:
MyStructure a;
MyStructure b;
fun(a,b);
ビルドはWindowsでは成功しますが、Linuxでは失敗し、エラーは
default argument for parameter of type 'MyStructure&' has type 'MyStructure'
しかし、非constである2番目のデフォルト引数を削除すると、WindowsとLinuxの両方でビルドが成功します...誰かがそれを解決する理由と方法を教えてもらえますか?