关于c++ error : passing " "as" " discards qualifiers

this实参丢弃了类型,例如: passing `const Date' as `this' argument of `int Date::get_year()' discards qualifiers

#include<iostream>

using namespace std;

class Date

{

int year;

public:

Date(int y):year(y){}

int get_year()

{

return year;

}

int  plus(const Date& p)

{

int total = p.get_year()+year;

return total;

}

};

int main()

{

Date q(1000);

Date p(2000);

cout<<p.plus(q);

system("pause");

}

运行出错:passing `const Date' as `this' argument of `int Date::get_year()' discards qualifiers

原因: const Date&p, p为常量,常量函数不能把p调用的成员值修改,get_year需要定义为只读编译器才可以通过,所以与const member function不符,在get_year 后加const标记

#include<iostream>

using namespace std;

class Date

{

int year;

public:

Date(int y):year(y){}

int get_year()

{

return year;

}

int  plus(const Date& p) const

{

int total = p.get_year()+year;

return total;

}

};

int main()

{

Date q(1000);

Date p(2000);

cout<<p.plus(q);

system("pause");

}

编译通过

转载于:https://my.oschina.net/macrolau/blog/880997

discard qualifier相关推荐

  1. Effective C++ 读书笔记 Item1-Item4

    目录 守则01:把C++看做一个语言的集合,而不是单一的语言 守则02:尽量使用const, enum, inline, 减少宏变量#define的使用 守则03: 尽可能使用const关键字 守则0 ...

  2. Redis 笔记(08)— 事务(一次执行多条命令、命令 watch/multi/exec/discard、错误处理)

    1. 事务概念 Redis 中的事务 (transaction)是一组命令的集合.事务同命令一样是 Redis 的最小执行单位,一个事务中的命令要么都执行,要么都不执行.事务的原理是先将属于一个事务的 ...

  3. python集合用法详解(创建、添加(add()、update())、删除(remove()、discard()、pop())、查找(in、not in))

    1. 创建集合         创建集合使⽤ {} 或 set() , 但是如果要创建空集合只能使⽤ set() ,因为 {} ⽤来创建空字典. 示例代码: s1 = {10, 20, 30, 40, ...

  4. java中@Qualifier(string)是什么用法

    @Qualifier("XXX") Spring的Bean注入配置注解,该注解指定注入的Bean的名称,Spring框架使用byName方式寻找合格的bean,这样就消除了byTy ...

  5. 用Selenium 爬虫下载文件,解除Chrome 下载警告 (Keep or Discard),设置下载目录的方法

    写在前面的话 我们的描述,运用都是基于Ubuntu 的运行环境 Chrome : Version 77.0.3865.90 (Official Build) (64-bit) OS : Ubuntu ...

  6. 【Netty】入门Netty官方例子解析(一)写个 Discard Server

    本文以Netty官方给出的列子来讲解Netty带你一步步进入Netty.Netty最全教程在这里 Getting Started 版本 netty4 maven依赖: <!-- https:// ...

  7. 从头认识Spring-2.3 注解装配-@autowired(5)-限定器@Qualifier(1)

    这一章节我们来具体讨论一下配合@autowired一起使用的限定器@Qualifier. 1.domain(重点) 蛋糕类: package com.raylee.my_new_spring.my_n ...

  8. Spring的qualifier标签

    @Autowired是根据类型进行自动装配的.如果当Spring上下文中存在不止一个UserDao类型的bean时,就会抛出BeanCreationException异常;如果Spring上下文中不存 ...

  9. 自动装配——@Autowired@Qualifier@Primary

    * 自动装配; * Spring利用依赖注入(DI),完成对IOC容器中中各个组件的依赖关系赋值: * 1).@Autowired:自动注入: * 1).默认优先按照类型去容器中找对应的组件:appl ...

最新文章

  1. iOS开发之AVKit框架使用
  2. Uncaught TypeError: object is not a function
  3. Spring MVC教程
  4. java空心字木塔_我国七个千年古塔:第四个空心没有塔顶,最后一个是木塔无钉无铆...
  5. POJ 2891 Strange Way to Express Integers ★ (扩展欧几里德解同余式组)
  6. elk平台分析nginx日志的基本搭建
  7. 0基础学python要多久-怎么自学python,大概要多久?
  8. 用python输出杨辉三角形,python输出杨辉三角
  9. Rainyday.js – 傻眼了!竟然有如此逼真的雨滴效果
  10. peek用法解决多读一行
  11. PYNQ-关于PYNQ的UART的使用(RPI接口)
  12. 配置邮件服务器及空邮件服务器
  13. D55_BMS_IntefaceBoard_RevA接口板电路设计图
  14. python求向量长度_得到向量的大小(x,y)
  15. 光纤光信号闪红灯_电信光纤猫光信号闪红灯怎么办 电信光纤猫光信号闪红解决方法...
  16. 超级兔子升级天使 - XP/2003 完整升级补丁集(2007.10)
  17. Android学习第三天 创建demo 电话拨号器
  18. css互相转换scss、css
  19. 服务器显示 未安装失败,生成失败!原因:可能服务器未安装Adobe Arcobat软件!...
  20. 《MLB美职棒大联盟》:最有价值球员奖·棒球1号位

热门文章

  1. docker 容器中 ip addr 出现 bash: ip: commandnot found
  2. 【LEDE】x86软路由之路-15-关于nr_open、ulimit -n、nofile
  3. 01背包:经典DP问题( 基本/滚动数组(优化)/恰好装满 )
  4. JUnit测试类使用
  5. 实现漫画效果---OpenCV-Python开发指南(52)
  6. RAD PDF 高性能在线编辑|浏览|打印
  7. iPad忘记密码,不用电脑如何解锁?
  8. java提取字符串中连续的数字,面试必备
  9. 微信小程序 textarea读取到的文本换行问题 以及保存回车换行到后台数据库
  10. 设计模式也可以这么简单,一看就懂