struct A
{
A() {}
private:
A(const A&); // Explicitly disable the copy constructor.
};
int main()
{
const A a1; // OK.
A a2; // OK.
auto a3 = const_cast<A&>(a1); // Compiler error C2248! ???
}
我的 C++ 编译器是最新的 VC++ 2013 预览版。
编译器抱怨最后一行错误 C2248: 'A::A' : cannot access private member declaration in class 'A'
为什么 const_cast 的行为不符合预期?