【发布时间】:2013-02-14 19:59:02
【问题描述】:
我引用了某个类 MyObject,但确切的对象取决于条件。我想做这样的事情:
MyObject& ref;
if([condition])
ref = MyObject([something]);
else
ref = MyObject([something else]);
我现在不能这样做,因为编译器不允许我声明但不能初始化引用。我可以做些什么来实现我的目标?
【问题讨论】:
-
这会是临时的初始化吗?即使没有条件:
MyObject& ref = MyObject([something]);,这也行不通,因为您不能将临时对象绑定到非 const 左值引用。 -
@GManNickG :这也适用于 Zaffy 和 suszterpatt 的答案?
-
@qPCR4vir:是的。这个问题在某种程度上仍然存在,只是不直接。
-
如果您正在寻找实际解决方案,请向下滚动至stackoverflow.com/a/50909452/1021920