小问题,都来看看吧
#include<iostream>
using namespace std;
class B{
public:
int m_iNum;
};
void main(){
const B b1;
//b1.m_iNum=100;
B b2=const_cast<B>(b1);
b2.m_iNum=200;
}
在这个小程序中,我想利用const_cast将b1的const属性去掉,为什么会编译出错:cannot convert from 'const class B' to 'class B'?
不是说const_cast能做到这一点么?
望达人赐教
[解决办法]
去掉 const 属性,直接赋值就是了:b2=b1;
[解决办法]
invalid use of const_cast with type `B', which is not a pointer, reference, nor a pointer-to-data-member type
还有一个问题是你没有初始化B。应该类似这样。
class B
{
public:
B():m_iNum(90){}
int m_iNum;
};