那么假设有一个函数
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'
但是,如果我删除第二个非常量的默认参数,则构建在 Windows 和 linux 中都会成功......有人可以告诉我为什么以及如何解决它吗?