我有一个方法的声明,面对VS2015编译器警告C4239:
警告C4239:使用了非标准扩展名:'默认参数&#39 ;:转换自' std :: shared_ptr'到' std :: shared_ptr&'
注意:非const引用只能绑定到左值
void checkMe(shared_ptr<string>& param = shared_ptr<string>());
这篇MSDN文章说它是/ W4警告。有趣的事实:/ W3已经确定。
说实话,我不是关于默认参数的专业人士,但是在实现中并没有真正使用shared_ptr
的空实例而没有使用。但我更倾向于理解这个问题,而不是调整功能。
如何以及为何可以摆脱警告?或者有合法的方法吗?
由于