c++ 错误收集

2023-10-26

1. clang-tidy: Non-const lvalue reference to type 'basic_string<>' cannot bind to a temperary of type 'basic_string<>'

错误描述:

这个错误出现在我试图传一个临时变量给一个 函数,这个函数的参数类型为 引用(非常量引用)

 

原因分析: 

根据编译错误提示可以知道,不能将形参begin、end绑定到a.begin()和a.end()的返回值,因为该返回值是一个临时量,临时量的生命周期可能在a.begin()和a.end()执行完后就结束了。因此编译器认为普通引用绑定一个临时量,在find_int函数中可能会修改这个临时量,然而此时临时量可能已经被销毁,从而导致一些未定义的行为,因此编译器不允许将普通引用绑定到一个临时量上。

解决办法:

在函数定义的地方加上const变成常引用或者去掉&引用。

 

这篇博客C++ non-const lvalue reference cannot bind to a temporary讲的很清楚。

 

 

参考: 

C++之error: cannot bind non-const lvalue reference of type ‘myString&’ to an rvalue of type ‘myString’

C++ non-const lvalue reference cannot bind to a temporary

 

2. error: expected class-name before ‘{’ token

             class xxxxx : public xxxxxxx{

问题描述: 出现这个问题是因为我错误的重复包含了头文件。 就是头文件 A.h 中包含 C.h, D.h, E.h 而在D.h 中又包含了A.h 导致编译器报错。

解决办法: 解决办法只要去掉重复包含的头文件就可以了。

补充: 出现这个问题还有可能是 定义类的时候 忘记在括号后面添加分号, 即 class A{}   (漏掉了后面的分号, 正确的应该是 class A{}; )。

 

参考:

expected class-name before '{' token https://blog.csdn.net/cwj649956781/article/details/7953748 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c++ 错误收集 的相关文章

随机推荐

  • 遇到问题--Nginx---tomcat启动web程序访问静态资源时404找不到

    http blog csdn net zzq900503 article details 76927074 给web站点配置域名转发后 tomcat启动web程序访问静态资源时404找不到 经过确认项目资源路径都没问题 后来经过排查后发现是
  • 配置samba服务

    什么是samba服务 是 和windows 进行 文件打印机共享的组件 结果就是linux windows 之间可以互相访问它们的共享文件 说明 我用的是ubuntu系统 ubuntu系统安装samba服务 确定自己是否安装samba dp
  • (一)Google发布了一个新的Tensorflow物体识别API

    做图像识别有很多不同的途径 谷歌最近发布了一个使用Tensorflow的物体识别API 让计算机视觉在各方面都更进了一步 这篇文章将带你测试这个新的API 并且把它应用在youtube上 可以在GitHub上获取用到的全部代码 https
  • JDBC连接数据库URL示例

    jdbc mysql localhost 3306 crm useSSL false useUnicode true characterEncoding UTF 8
  • matlab扩充内存,matlab中内存不够用的解决方案

    1 在命令行中输入pack函数来整理内存 pack函数到底是什么机制呢 这里参考了MATLAB的help文档 话说回来 help始终是学习MATLAB的 金参考标准 用法 pack pack filename pack filename 第
  • Struts配置文件详解

    Struts1配置文件
  • 最好的工程师像投资者一样思考,而不是建设者

    我在大学期间住在图书馆 我学习的教科书理论越多 我就会成为一名更好的工程师 我想 然而 当我开始工作时 我注意到业内最优秀的工程师并不一定比应届毕业生了解更多的理论 他们只是带来了不同的心态 即投资者的心态 正是这种心态帮助他们提出更聪明的
  • 谈一谈,自身对技术经理这个职位的理解吧

    前言 19年初在上一家公司离职 在上一公司服役了4年半 成长了不少 收获了不少东西 在上一公司也带过很多团队 多的时候6 7个人 少的时候2人 也总结了很多的所谓的经验吧 由于一系列原因吧 离职来到了我现在的公司 岗位职责 到这边以后 入职
  • 什么是MyBatis

    一 MyBatis概述 1 1 原始的JDBC操作 谈及mybatis 必然需要先了解Java和数据库的连接技术 JDBC Java DataBase Connectivity 但是原始JDBC操作中 却存在如下缺点 数据库连接创建 释放频
  • 计算机制作节日贺卡教案,《制作节日贺卡》教学设计.doc

    文档介绍 制作节日贺卡 教学设计 小学信息技术 第五册第1单元第3课吴信平肥西县三河镇三河学区中心学校电子邮箱 ahicon 电话 教材分析本课是制作电子贺卡单元的第3课 教材内容为指导学生完整地制作一张贺卡 让学生学会如何制作一个简单的电
  • Spark是否能替代Hive

    在实际生产环境中已经形成了离线以Hive为主 Spark为辅 实时处理用Flink的大数据架构体系及Impala Es Kylin等应用查询引擎 但是有很多学习Spark的程序员普遍认为Spark必然会替代Hive成为新的一代大数据仓库标准
  • Linux设备驱动开发入门之——hello驱动

    1 Linux驱动程序的分类 Linux 中主要分为三大类驱动 字符设备驱动 块设备驱动和网络设备驱动 1 字符设备驱动 因为软件操作设备是是以字节为单位进行的 是按照字节流进行读写操作的一种设备 典型的如LCD 蜂鸣器 SPI 触摸屏等驱
  • dfs 遍历二叉树

    dfs 遍历二叉树 为了更好的理解dfs 手写了dfs 遍历二叉树的两种方式 方法 一种是采用常用的递归执行 另一种是采用循环执行 使用栈来代替递归 二叉树定义 class Node get set方法省略 private Node lef
  • ZF预编码,R-ZF预编码,脏纸预编码(DPC预编码)

    如何理解通信中的迫零预编码 正则化迫零预编码与脏纸预编码 ZF预编码可以理解为把user自身因为多天线空间信道传输而产生的在同时同频的自干扰消掉 但没有考虑消去高斯分布的noise 从而最小化了真实信号和估计的误差平方和 而从统计来看就是M
  • 从零开始研究Gitlab(利用vscode进行同步)

    1 vscode添加远程gitlab仓库 这个一步步按着做就好了 最开始的ssh秘钥创建可以直接在gitlab页面里点击 获取更多 查看步骤 https jingyan baidu com article afd8f4de9dcad475e
  • os.walk和os.listdir

    1 os walk 可以一级一级循环低递归到最下面的一级目录 for root img names in os walk img dir for img name in img names img path os path join roo
  • 搭建iOS开发环境

    1 准备 当前移动开发主要分为安卓开发和iOS开发 安卓是谷歌在2007年宣布开源的移动操作系统 iOS是苹果2007年发布的 两个系统出现的时间大致相同 在随后的十年间引领了移动开发浪潮 如今各种移动开发技术层出不穷 一些跨平台的技术也相
  • 程序流图画法详解

    程序流图一般是软件评测师考试中的第一道大题 同时也是必考大题 多层嵌套的循环程序绘制流程图时十分繁琐 本人在经过练习真题以及查阅资料后有了一些绘制控制流图的小经验 如有不对请指出 下面以2017年的软件评测师下午第一套真题为例进行讲解 1
  • 3.Spring Boot + Security初步使用(覆盖配置的两种方式 配置类和XML注入以自定义页面为例)

    1 Spring Security简介 Spring Security 是一个基于 Spring 框架 提供了一套 Web 应用安全性的完整解决方案 一般来说 Web 应用的安全性包括用户认证 Authentication 和用户授权 Au
  • c++ 错误收集

    1 clang tidy Non const lvalue reference to type basic string lt gt cannot bind to a temperary of type basic string lt gt