【发布时间】:2013-02-26 21:45:15
【问题描述】:
我今天第一次看到这种演员阵容,我很好奇为什么会这样。我认为以这种方式铸造会分配给临时成员,而不是班级成员。使用VC2010。
class A
{
public:
A() :
m_value(1.f)
{
((float)m_value) = 10.f;
}
const float m_value;
};
【问题讨论】:
-
那是您尝试的确切 sn-p 吗?通常这应该会出错,因为 m_value 没有初始化并且不应该编译赋值。
-
这是不允许的,它应该由于多种原因出错(包括
m_value在初始化列表中没有被赋值) -
在你提问之前,你不需要在A的构造函数中初始化那个
m_value吗? -
我编辑成我实际使用的。它仍然分配它。很高兴知道我的怀疑是正确的。
标签: c++ visual-studio-2010 casting assign lvalue