【发布时间】:2013-08-22 16:46:53
【问题描述】:
我有一个名为 f 的联合定义为
union uf {
unsigned u;
float f;
}
我有两个功能。
void inner_function(uf& in) {
//modify in
}
void outer_function(unsigned& val) {
inner_function(static_cast<uf> (val));
}
有人可以解释一下为什么我会从“uf”类型的临时错误中得到“invalid initialization of non-const reference of type 'uf&'”。
所以我知道我不能施放这个。那么有人将如何解决这个问题呢? 我知道这行得通
void outer_function(unsigned& val) {
uf a;
a.u = val;
inner_function(a);
val = a.u;
}
还有什么更高效的吗?
【问题讨论】:
标签: c++