问题描述
- 关于c++(表达式必须是可修改的左值)
-
代码如下,在一个类里定义了如下private型成员变量和成员函数,但是在成员函数里给vals赋值时会提示表达式必须是可修改的左值,请问是为什么呢?
private:
char vals[3000];
int numDigits;
BigInt multDigit(char digit) const
{
int temp;
vals = digit;
}
解决方案
caozhy的回答是正确的。
补充一点:
vals是数组名,digit是字符变量,不能直接赋值。
可根据功能修改,例如:
vals[0]=digit;
解决方案二:
BigInt multDigit(char digit) const
这里用const修饰这个函数,那么在函数内不能修改成员函数,除非你把const去掉。
解决方案三:
vals 是数组名,它是常量指针,其数值是不能修改的。
时间: 2024-11-18 07:20:23