我正在 Linux gcc 环境中工作,我需要初始化具有默认值的类的函数参数。
当我使用类的临时实例执行此操作时,会出现如下错误:“[函数参数] 的默认参数具有类型 [类名]。
例如:
void foo(std::wstring& str = std::wstring())
错误:“std::wstring& str”的默认参数具有类型“std::wstring”
附:使用 VC++ 编译此代码时没有任何错误或警告。
如何初始化默认值?
这应该无法编译。您正在尝试将右值绑定到非常量引用。说std::wstring const & str
它应该有效。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)