首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

小疑点,都来看看吧

2012-03-16 
小问题,都来看看吧#includeiostreamusing namespace stdclass B{public:int m_iNum}void main(){cons

小问题,都来看看吧
#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;
};

热点排行