分配给非const参考
Assignment to non-const reference
vs2015更新3对此进行编译,没有错误,也没有警告。然而,我的印象是,临时工只能属于const参考。这是不合格的还是我误解了某些东西?
struct Foo {};
Foo Func6() { return Foo(); }
TEST(Arguments, NonConstReference)
{
Foo& bob = Func6();
}
编辑
Marcinj链接的问题是同一问题,尽管该问题不是专门针对VS2015的问题,并且在我键入此问题时没有找到。
我已经使用/w4测试了我是否有警告,但没有看到警告,但是再次测试它,我发现我现在这样做了。打开项目属性调整设置时,VS2015的习惯是显示与当前选择的对话框设置的设置,这是一种与当前所选的配置不同的,这是一种使我陷入的最无用的行为,(我敢肯定,我会继续继续这样做)。
正如使用禁用语言扩展(/za)的其他问题中提到的那样,这是一个错误,但不幸的是,由于微软自己的平台标头不会编译。
MSVC编译器具有非标准扩展名,默认情况下启用,该扩展程序允许临时性绑定到非const
参考。要禁用此功能,请使用命令行选项/Za
或相应的项目属性。
相关文章:
- 不能使这种类型的"void(C::* volatile)(int) const "在参考手册C++示
- I/O 操纵器错误或临时延长寿命由 const 参考?
- RVALUE参考与const lVALUE参考作为参数之间的混淆
- 为什么const rvalue合格的std ::可选:: value()返回const rvalue参考
- 转发模板参数的const-度,我应该使用转发参考
- 如何检查两种类型是否相同,忽略const和参考
- 基于范围的循环中的const参考不起作用
- const自动参考绑定到(NULL)指针 - 实际类型是什么
- "const"会取消通用参考的资格吗?
- 重新分配到const参考
- 通过参考const成员通过参考时,尝试引用已删除的函数
- 人们为什么写私人场getters返回非const参考
- 为什么删除字符串迭代器会产生const char参考
- 从C 模板中的非const l值参考中推导const l值参考
- 如何使用参考const对象传递到函数作为参数
- 从const函数返回非const属性参考
- 一种体面的方式来转换const列表参考参数,然后传递到另一个函数
- const参考的不同风味
- C 接收const lvalue和rvalue参考参数,而无需过载
- 通过STD :: Chrono ::按价值或参考const的持续时间