在c++编译的时候,会出现discards qualifiers的错误提示

这个错误的表示代码中,尝试修改const的变量,例如:

1,给const的类成员赋值

class person {
private:
    int age;
public:
    const int& getAge() const
    {
        return age;
    }
    void setAge(const int& a)
    {
        age = a;

}

int getDoubleAge() //非const成员函数
    {
        return age*2;

}

person() {
        age = 0;
    }

};
int main(int argc,char *argv[])
{
    const person p;
    p.setAge(10);
    return 0;
}

2,const变量,调用了非const成员函数

int main(int argc,char *argv[])
{
        const person p;
        p.getDoubleAge();

return 0;

}

解决方法:

声明非const成员函数为const函数

int getDoubleAge() const
    {
        return age*2;
    }

c++ discards qualifiers相关推荐

  1. error: passing ‘const xxx’ as ‘this’ argument discards qualifiers c++primer 5th文本查询程序一个错误请各位指教(已解决)

    文件main.cc 文件main.cc #include <string> #include <iostream> #include <memory> #inclu ...

  2. C++编程常见问题—error: passing 'const std::map]' discards qualifiers或pass-by-reference-to-const-map导致的“d

    产生问题的场景: int func(const map<int, string> &aMap) { string value = amap[0]; } 或者 int  Test:: ...

  3. C++ ERROR:error: passing 'XXX' as 'this' argument of 'XXX' discards qualifiers

    遇到了如题目的这种错误: error: passing 'XXX' as 'this' argument of 'XXX' discards qualifiers 如何产生的? 我将一个const变量 ...

  4. C语言编译时产生的警告:initializing ‘char *‘ with an expression of type ‘const char *‘ discards qualifiers

    警告的产生: char *my_strstr(const char *str1,const char *str2) {const char *s1 = NULL;const char *s2 = NU ...

  5. error: passing xxx as 'this' argument of xxx discards qualifiers的解决办法

    写demo的时候碰到一个C++编译报错,初见也是奇怪了,编译器指向我调用类成员函数出错了. 然后百度看了下别人的博客瞬间就醍醐灌顶了,原来是编译器认为成员函数可能会修改被const限定的变量 解决办法 ...

  6. 【C++】动态内存管理/move/以及移动构造与移动赋值运算符

    文章目录 1 .对象移动与右值引用 实际应用过程中遇到的问题及其解决方案 c++中临时变量不能作为非const的引用参数 2. 动态内存管理类 3. 对象移动与右值引用 4. 移动构造与移动复制运算符 ...

  7. C++中关键字volatile和mutable用法

    C/C++中的volatile关键字和const对应,用来修饰变量,用于告诉编译器该变量值是不稳定的,可能被更改.使用volatile注意事项: (1). 编译器会对带有volatile关键字的变量禁 ...

  8. 关于ios中编译ffmpeg0.9.2库

    很多朋友在问如何在ios中编译ffmpeg库,虽说网上的教程很多,但是大部分都说按其操作,最后编译总是不成功,正好我最近的项目要用到ffmpeg,所以就再次编译了,同时在这里记下,方便需要参考的朋友. ...

  9. Android系统编译过程中常见问题汇总(1)

    转自: http://www.2cto.com/kf/201204/127658.html 1.问题一:/bin/bash: bison: 未找到命令 解决方法:$ sudo apt-get inst ...

  10. const的一些注意事项

    今天在继续学习STL的过程中遇到了一些编译错误.看一下下面的代码-- class stone{private:int weight;public:stone(int i){weight=i;}bool ...

最新文章

  1. 实易智能DNS单台设备QPS高达28万
  2. 《Objective-C基础教程》第二章 对C的扩展
  3. Dapper源码学习和源码修改(下篇)
  4. RuoYi-Vue 部署 Linux环境 若依前后端分离项目(jar包+nginx 单机版本)
  5. vue @click 如何绑定多个方法
  6. eclipse报错:An error has occurred. See error log for more details. java.lang.NullPointerException
  7. output的用法java_JavaI/O:简单的使用BufferedOutputStream和BufferedInputStr
  8. “21天好习惯”第一期-13
  9. DBCS和UCS编码相关
  10. 一起寻找哪些免费小巧的 CAD文件查看和格式转换软件
  11. 开源超级终端工具——WindTerm
  12. Safari浏览器兼容性问题处理
  13. 武汉大学研究生院计算机导师,求武汉大学计算机学院研究生导师信息
  14. uniapp 学习笔记三十 结算页面结构搭建地址列表页面结构搭建
  15. Android 网页无法打开 net:ERR_UNKNOWN_URL_SCHEME
  16. 基于LabVIEW的计时器
  17. 压缩包设置了解压码忘记了怎么办?
  18. MySQL数据库综合运用——快递管理系统
  19. PCA9685:I2C转16路PWM,助力你的系统
  20. Python下数值型与字符型类别变量独热编码(One-hot Encoding)实现

热门文章

  1. 在linux系统上安装坚果云
  2. javascript scope chain
  3. java docx 文档不可编辑、复制
  4. 深度学习mindspore --- rescale(rescale, shift)
  5. 短时傅里叶变换STFT(非使用fft函数)
  6. python实现阿里云盘同步功能(sync_folder)
  7. php怎么添加文字,怎么在视频里加文字 在视频中添加文字
  8. 计算机软件著作权的软件全称,软件著作权名称要求是什么
  9. git clone提示鉴权失败
  10. java 什么是过滤器_java中的过滤器是什么