【发布时间】:2017-04-08 22:48:50
【问题描述】:
VS2015 Update 3 编译这个没有错误也没有警告。然而,我的印象是临时变量只能绑定到 const 引用。这是不符合标准还是我误解了什么?
struct Foo {};
Foo Func6() { return Foo(); }
TEST(Arguments, NonConstReference)
{
Foo& bob = Func6();
}
编辑
marcinj 链接的问题是同一个问题,尽管该问题并非专门针对 VS2015,并且在我输入此问题时未找到。
我已经使用 /W4 进行了测试,以查看是否收到警告但没有看到,但再次测试我发现现在可以了。当打开项目属性以调整设置时,VS2015 习惯于显示与当前选择的构建配置不同的构建配置的属性对话框集,这是一种最无用的行为,已经让我多次感到困惑,(我肯定会继续这样做)。
正如其他问题中提到的,使用禁用语言扩展 (/Za) 会导致此错误,但不幸的是,这不是一个可用的解决方案,因为 Microsoft 自己的平台标头将无法编译。
【问题讨论】: