olivertai
秋名山小法师
采纳率33.3%
2016-02-09 22:40 浏览 23.9k

关于c++(表达式必须是可修改的左值)

代码如下,在一个类里定义了如下private型成员变量和成员函数,但是在成员函数里给vals赋值时会提示表达式必须是可修改的左值,请问是为什么呢?
private:
char vals[3000];
int numDigits;
BigInt multDigit(char digit) const
{
int temp;
vals = digit;
}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答 默认 最新

  • qq_27183003 ysuwood 2016-02-10 01:49

    caozhy的回答是正确的。
    补充一点:
    vals是数组名,digit是字符变量,不能直接赋值。
    可根据功能修改,例如:
    vals[0]=digit;

    点赞 9 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2016-02-09 23:25

    BigInt multDigit(char digit) const
    这里用const修饰这个函数,那么在函数内不能修改成员函数,除非你把const去掉。

    点赞 6 评论 复制链接分享
  • 91program 91program 2016-02-10 06:18

    vals 是数组名,它是常量指针,其数值是不能修改的。

    点赞 1 评论 复制链接分享

相关推荐