【C++】error: passing ‘const xxx’ as ‘this’ argument discards qualifiers
文章目录
- 1.错误信息
- 2.错误分析
- 3.错误解决
1.错误信息
错误为
error: passing ‘const xxx’ as ‘this’ argument of ‘std::string xxx()’ discards qualifiers [-fpermissive]
实际中
2.错误分析
错误的原因就是,C++中const
引用的是对象时只能访问该对象的const
函数,因为其他函数有可能会修改该对象的成员,编译器为了避免该类事情发生,会认为调用非const函数是错误的。
意思是说 在一个加了const
限定符的成员函数中,不能够调用非const成员函数。而error:…discards qualifiers
的意思就是缺少限定符。
比如
//=========================================================
//TcpConnection类中
void TcpConnection::showip() const
{cout << "ip:" << _localAddr.ip_ntoa() << "port:" << _localAddr.port_ntoh() << endl
}
//==========================================================
//InetAddress类中
string InetAddress::ip_ntoa()
{return string(inet_ntoa(_addr.sin_addr));
}unsigned short InetAddress::port_ntoh()
{return ntohs(_addr.sin_port);
}
//==========================================================
3.错误解决
给成员函数加上const
string InetAddress::ip_ntoa() const
{return string(inet_ntoa(_addr.sin_addr));
}unsigned short InetAddress::port_ntoh() const
{return ntohs(_addr.sin_port);
}
【C++】error: passing ‘const xxx’ as ‘this’ argument discards qualifiers相关推荐
- error: passing ‘const xxx’ as ‘this’ argument discards qualifiers c++primer 5th文本查询程序一个错误请各位指教(已解决)
文件main.cc 文件main.cc #include <string> #include <iostream> #include <memory> #inclu ...
- 【c++常见错误01】error C2662: ‘const xxx‘: cannot convert ‘this‘ pointer from ‘xxx‘ to ‘xxx‘
原因 造成这个错误的一般原因是常量对象尝试调用该对象里的非常量函数,例如class Bala里有一个普通的成员函数func(),在某处声明了Bala类常量对象bala,const Bala bala, ...
- C++ STL编译报错:error: error passing 'const' as 'this' argument
用C++ STL(标准模板库)编写仿函数的时候,编译报错: error: passing 'const FindNameOrAddress' as 'this' argument of 'bool F ...
- QT5对话框的中文字符串【乱码】 (error: C2001: 常量中有换行符)
问题解决:对话框的中文字符串[乱码] (error: C2001: 常量中有换行符) 假设编译环境:QT5+vs2015 项目配置: 默认编码:UTF-8 UTF-8 BOM: 目前存在了则保留 如果 ...
- 【VS】error MSB8020: 无法找到 v142 的生成工具(平台工具集 =“v142”)。若要使用 v142 生成工具进行生成,请安装 v142 生成工具
[VS]error MSB8020: 无法找到 v142 的生成工具(平台工具集 ="v142").若要使用 v142 生成工具进行生成,请安装 v142 生成工具 别人用的vs2 ...
- 【ES6】 let与const详解
[ES6] let与const详解 ES6,全称为ECMAScript6.ES6与js的关系是:前者是后者的规格,后者是前者的实现.换句话说,ES是js的国际化版本,js是ES的子集. 1. let ...
- 【异常】Error: ERROR 1012 (42M03): Table undefined. (state=42M03,code=1012)
[异常]Error: ERROR 1012 (42M03): Table undefined. (state=42M03,code=1012) 参考文章: (1)[异常]Error: ERROR 10 ...
- 【MySQL】ERROR 1045 (28000): Access denied for user的解决方法
[MySQL]ERROR 1045 (28000): Access denied for user的解决方法 参考文章: (1)[MySQL]ERROR 1045 (28000): Access de ...
- 【笔记】Error while loading PyV8 binary: exit code 1解决方法
[笔记]Error while loading PyV8 binary: exit code 1解决方法 参考文章: (1)[笔记]Error while loading PyV8 binary: e ...
- 【Koa】Error: Cannot find module ‘koa-router‘
[Koa]Error: Cannot find module 'koa-router' 报错如下 解决办法 执行以下命令 安装koa-router 即可解决此问题 npm install koa-ro ...
最新文章
- ActiveMQ基本内容及安装部署
- Android 团队早期员工解释 Android 哪里不如 iOS
- Qt读取ini配置文件
- 【推荐】Google告诉你如何做移动搜索的
- zz Microsoft Chart Controls for Microsoft .NET Framework 3.5
- linux bind命令,LINUX命令bind-系统管理-显示或设置键盘按键与其相关的功能
- 基于java的程序启动出错Could not create the Java virtual machine
- (03)FPGA发展前景
- 一个小例子介绍Obj-C的函数命名方式
- [渝粤教育] 西南科技大学 高等数学2 在线考试复习资料
- 生态环境影响评价技术应用及典型实践案例分析
- Java项目源码下载S2SH基于java的保险业务管理系统
- 高薪利器:四大热门云计算认证推荐
- 软件测试工具大全(这可能是目前为止最全的测试工具集合)
- 太阳高度角/方位角计算公式
- 【大数据】城市公交网络分析与可视化(二):获取公交行驶路径并绘制散点图
- 阿里云SLB配置HTPPS方式访问
- boost::stacktrace::detail相关的测试程序
- swftools java_SWFTools pdf2swf 参数详解 及中文乱码问题
- 服务注册Service Registration
热门文章
- linux ubuntu因为没有正常关机,导致开机出现gun grub
- STFT原理及MATLAB代码
- 新的Steam控制器,ScummVM上的Sherlock Holmes以及更多开放游戏新闻
- 神仙打架!传言阿里 P10 赵海平被 P11 多隆判定 3.25 离职,如何评价阿里 P10 赵海平对王垠的面试?...
- android极光推送被杀,关于APP进程被杀死,极光推送收不到消息的解决办法
- 手工焊接SSOP贴片元件步骤总结
- HJQ巨佬のTwelveFold Way 手稿电子版
- 接口测试 requests的身份认证方式
- 代理服务器等 和word上下角标 20110322
- xhEditor用法-可视化HTML编辑器