去掉 &
改成(const Integer opr)
反正你只要他的值,用不着改它
改成(const Integer opr)
反正你只要他的值,用不着改它
解决方案 »
- 用两个不同维度的数组给一个数组赋值?
- 求助
- 求<Visual C++ 高级界面特效制作百例>电子书
- 在EVC ppc环境下运行出现下面错误:MySuperMap:File aFx.inl,Line 179
- 我操作系统重装后数据库就连不上了,怎么回事啊?
- 关于工程设置
- Temp文件的问题
- 从书上看见一个奇怪的定义,没有见过,请大吓指教~!
- command.exe vs cmd.exe;regedit.exe vs regedt32.exe区别?fat32上能装win2000?
- 枚举没有WS_VISIBLE的窗口怎么办?FindWindowEx找不到!
- COM对多线程的支持是怎么样的?
- 在PC机与单片机进行串口通信时,怎样来读写第9位
你去掉debug文件夹,再重新编译!
这样的参数格式好象只能用于“拷贝构造函数”
是不是opr->GetValue();
int GetObjectValue(const Integer *opr) { return opr->GetValue(); }
也不行.
我希望函数声明保持不变,而采用其它办法?
这时的错误提示是什么?
{
public:
int GetValue() const { return m_i;}
int GetObjectValue(const Integer& opr) { return opr.GetValue(); }
private:
int m_i;
};
我试了一下这样可以
{
public:
int GetValue() const { return m_i;}
int GetObjectValue(const Integer& opr) { return opr.GetValue(); }
private:
int m_i;
};
我试了一下这样可以
这时的错误提示还是和原来一样的.
wabc(wabc)
qunta(旺财1860)
{
return m_i;
}
请把成员函数 GetValue()声明为const函数,
因为参数opr是const的,它只能调用也声明为const的函数.
原因很简单,因为opr是const的,它不会也不能够改变它所引用的对象,
所以opr所调用的函数GetValue()也不能改变opr引用的对象,
但是如果不把GetValue()声明为const就不能保证这个函数不会改变opr所引用的对象.
--------------
去掉const是可以的,但我不想去掉它,能不能有其它办法?
--------------
你的这个尝试正说明了这一点.