【发布时间】:2011-05-13 09:28:47
【问题描述】:
我正在使用 Linux gcc 环境,我需要初始化作为具有默认值的类的函数参数。 当我对类的临时实例执行此操作时,会出现如下错误:“[函数参数]的默认参数具有[类名]类型。 例如:
void foo(std::wstring& str = std::wstring())
错误:“std::wstring& str”的默认参数类型为“std::wstring” 附:使用 VC++ 编译此代码时不会出现任何错误或警告。
如何初始化默认值?
【问题讨论】:
-
你想达到什么目的?对我来说,你在做什么看起来毫无意义..
-
@Simone - 这可能是一个尝试同时获得默认值和通过引用发送。
-
绑定到非常量引用不符合标准,但 VC++ 允许它作为 AFAIK 的扩展。
标签: c++ gcc reference default-value