没有与这些操作数匹配的`“>>“`运算符错误;

2023-11-16

报错信息:没有与这些操作数匹配的">>"运算符错误;
网上查询大多是少了头文件<string>,只能说同一个错误也会有不同的原理。我这里的就是因为函数返回值不能作为左值引起的错误。也是因为对输入输出流不够熟悉导致的错误吧,看下面的问题。
在这里插入图片描述
在类里面写了如下函数,这是一个类中的常量成员函数

std::string isbn() const {return this->bookNo;}

然后在cpp文件实现一个利用输入流的输入函数read();时报出上面所说的不匹配错误。但是使用输出流<<时却是没有问题的。

istream&
read(istream &is, SalesData &item)
{
	double price = 0;
	is >> item.isbn()>>item.bookNo>>item.discount>>
    item.revenue>> price;
	return is;
}
ostream&
print(ostream&os, SalesData &item)
{
	double price = 0;
	os << item.isbn() << item.bookNo << item.discount ;
	return os;
}

我们来看这个函数,此函数接受一个IO类型的引用作为其参数,因为IO类是属于不能被拷贝的类型,所以我们只能通过引用来传递。而且因为读取和写入都会改变流的内容,所以read函数接受的是普通引用is
解析完这个函数我们回到问题,因为is是一个输入流,使用它的目的就是将数据从is中输入到SalesData对象中,但是上面的函数返回的是一个值或者一个常量值,所以是不行的(不能作为左值)。但是如果是用该函数的值来进行写入是可以的,比如下面的print函数就是正确的。
其实我们或许可以想到前面返回引用的函数,此时的返回值可以作为左值

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

没有与这些操作数匹配的`“>>“`运算符错误; 的相关文章

  • 我如何才能等待多个事情

    我正在使用 C 11 和 stl 线程编写一个线程安全队列 WaitAndPop 方法当前如下所示 我希望能够将一些内容传递给 WaitAndPop 来指示调用线程是否已被要求停止 如果 WaitAndPop 等待并返回队列的元素 则应返回
  • Web 客户端和 Expect100Continue

    使用 WebClient C NET 时设置 Expect100Continue 的最佳方法是什么 我有下面的代码 我仍然在标题中看到 100 continue 愚蠢的 apache 仍然抱怨 505 错误 string url http
  • 秒表有最长运行时间吗?

    多久可以Stopwatch在 NET 中运行 如果达到该限制 它会回绕到负数还是从 0 重新开始 Stopwatch Elapsed返回一个TimeSpan From MSDN https learn microsoft com en us
  • 从Web API同步调用外部api

    我需要从我的 Web API 2 控制器调用外部 api 类似于此处的要求 使用 HttpClient 从 Web API 操作调用外部 HTTP 服务 https stackoverflow com questions 13222998
  • 在 Windows 窗体中保存带有 Alpha 通道的单色位图会保存不同(错误)的颜色

    在 C NET 2 0 Windows 窗体 Visual Studio Express 2010 中 我保存由相同颜色组成的图像 Bitmap bitmap new Bitmap width height PixelFormat Form
  • C#中如何移动PictureBox?

    我已经使用此代码来移动图片框pictureBox MouseMove event pictureBox Location new System Drawing Point e Location 但是当我尝试执行时 图片框闪烁并且无法识别确切
  • 控件的命名约定[重复]

    这个问题在这里已经有答案了 Microsoft 在其网站上提供了命名指南 here http msdn microsoft com en us library xzf533w0 VS 71 aspx 我还有 框架设计指南 一书 我找不到有关
  • 如何在 C 中调用采用匿名结构的函数?

    如何在 C 中调用采用匿名结构的函数 比如这个函数 void func struct int x p printf i n p x 当提供原型的函数声明在范围内时 调用该函数的参数必须具有与原型中声明的类型兼容的类型 其中 兼容 具有标准定
  • 垃圾收集器是否在单独的进程中运行?

    垃圾收集器是否在单独的进程中启动 例如 如果我们尝试测量某段代码所花费的进程时间 并且在此期间垃圾收集器开始收集 它会在新进程上启动还是在同一进程中启动 它的工作原理如下吗 Code Process 1 gt Garbage Collect
  • 什么时候虚拟继承是一个好的设计? [复制]

    这个问题在这里已经有答案了 EDIT3 请务必在回答之前清楚地了解我要问的内容 有 EDIT2 和很多评论 有 或曾经 有很多答案清楚地表明了对问题的误解 我知道这也是我的错 对此感到抱歉 嗨 我查看了有关虚拟继承的问题 class B p
  • 如何查看网络连接状态是否发生变化?

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔
  • 这些作业之间是否存在顺序点?

    以下代码中的两个赋值之间是否存在序列点 f f x 1 1 x 2 不 没有 在这种情况下 标准确实是含糊不清的 如果你想确认这一点 gcc 有这个非常酷的选项 Wsequence point在这种情况下 它会警告您该操作可能未定义
  • Windows 窗体:如果文本太长,请添加新行到标签

    我正在使用 C 有时 从网络服务返回的文本 我在标签中显示 太长 并且会在表单边缘被截断 如果标签不适合表单 是否有一种简单的方法可以在标签中添加换行符 Thanks 如果您将标签设置为autosize 它会随着您输入的任何文本自动增长 为
  • 链接器错误:已定义

    我尝试在 Microsoft Visual Studio 2012 中编译我的 Visual C 项目 使用 MFC 但出现以下错误 error LNK2005 void cdecl operator new unsigned int 2
  • 如何使用 C# / .Net 将文件列表从 AWS S3 下载到我的设备?

    我希望下载存储在 S3 中的多个图像 但目前如果我只能下载一个就足够了 我有对象路径的信息 当我运行以下代码时 出现此错误 遇到错误 消息 读取对象时 访问被拒绝 我首先做一个亚马逊S3客户端基于我的密钥和访问配置的对象连接到服务器 然后创
  • WPF/C# 将自定义对象列表数据绑定到列表框?

    我在将自定义对象列表的数据绑定到ListBox in WPF 这是自定义对象 public class FileItem public string Name get set public string Path get set 这是列表
  • IEnumreable 动态和 lambda

    我想在 a 上使用 lambda 表达式IEnumerable
  • C# - OutOfMemoryException 在 JSON 文件上保存列表

    我正在尝试保存压力图的流数据 基本上我有一个压力矩阵定义为 double pressureMatrix new double e Data GetLength 0 e Data GetLength 1 基本上 我得到了其中之一pressur
  • 如何在文本框中插入图像

    有没有办法在文本框中插入图像 我正在开发一个聊天应用程序 我想用图标图像更改值 等 但我找不到如何在文本框中插入图像 Thanks 如果您使用 RichTextBox 进行聊天 请查看Paste http msdn microsoft co
  • C++ 中类级 new 删除运算符的线程安全

    我在我的一门课程中重新实现了新 删除运算符 现在我正在使我的代码成为多线程 并想了解这些运算符是否也需要线程安全 我在某处读到 Visual Studio 中默认的 new delete 运算符是线程安全的 但这对于我的类的自定义 new

随机推荐

  • shell 执行qt生成文件_qt通过qprocess运行shell命令

    I am developing a small QT application to interact with the terminal to send commands to the terminal and to read back i
  • IntelliJ IDEA重置配置设定

    https www jetbrains com help idea directories used by intellij idea to store settings caches plugins and logs html
  • python里format的.2f用单引号_FEniCS应用(2):Python基础语法(未完待续)

    注 本学习笔记与中国大学MOOC平台 Python语言程序设计 北京理工大学 相对应 本笔记跳过基础概念部分 着重于应用 一 对python的认知 python是大小写敏感的 python文件名不能以数字开头 表示单行注释 三个单引号表示多
  • ubuntu17安装mysql后数据库乱码_ubuntu安装mysql数据库过程中出现依赖性Depends错误解决办法...

    1 sudo apt get update 2 sudo apt get install mysql server mysql client 若出现如下错误 无法安装 jianliu ubuntu sudo apt get install
  • PHP-Guzzle异步、并发

    参考 Guzzle文档 PHP Guzzle是一个HTTP客户端 可以使用它来发送各种HTTP请求 并发请求一 promises key1 gt client gt getAsync website1 key2 gt client gt g
  • el-table + setup语法糖 + 列表变化后滚动条置顶

    el table setup语法糖 列表变化后滚动条置顶 由于需要做一个el table 然后再更新地图同时将滚动条滚至最上 但是网上很多资料都是使用this refs 底部 this nextTick gt this refs table
  • SSM框架---springMVC

    目录 一 概述 分层思想 二 工作原理 1 导入jar包 2 创建启动类 三 处理请求参数 3 1 get方式 3 2 post方式 3 3 restful方式 推荐 四 处理get 请求的参数 五 处理post请求的参数 六 处理rest
  • ACM学习计划

    看完人家的博客 发现任重道远 一位高手对我的建议 一般要做到50行以内的程序不用调试 100行以内的二分钟内调试成功 acm主要是考算法的 主要时间是花在思考算法上 不是花在写程序与debug上 下面给个计划你练练 第一阶段 练经典常用算法
  • PHP的bcadd()函数用法

    求和后保留X位小数的函数 一般用于价格累加 查询出来的价格即使是浮点型 但是运用 后会变成整型 若需求需要保留小数位 则需要用到这个函数 bcadd 被加数 加数 保留几位小数 bcadd 1 3 2 4 00
  • 华为OD机试真题-最长密码【2023.Q1】

    题目描述 小王在进行游戏大闯关 有一个关卡需要输入一个密码才能通过 密码获得的条件如下 在一个密码本中 每一页都有一个由26个小写字母组成的若干位密码 每一页的密码不同 需要从这个密码本中寻找这样一个最长的密码 从它的末尾开始依次去掉一位得
  • 从零开始学前端(一)

    1 在桌面空白的地方 点击右键新建一个文本文档 2 双击或者右键打开刚刚新建的文件 3 将下面的代码复制到刚刚打开的txt文件中 h1 大家好 我是一只羊 这是我的第一个网页 h1 p Hello world p 4 点击文件 点击另存为
  • Mysql模糊查询like效率,以及更高效的写法

    原文来自 https www cnblogs com chaobest p 6737901 html 在使用msyql进行模糊查询的时候 很自然的会用到like语句 通常情况下 在数据量小的时候 不容易看出查询的效率 但在数据量达到百万级
  • Linux的学习步骤

    linux 基本操作命令 linux 各种配置 环境变量配置 网络配置 服务配置 linux 环境下搭建各种开发环境 Linux 写基本的shell脚本 对linux进行维护 Linux 安全设置 防止攻击 保障服务器的正常运行 能对系统尽
  • 飞腾CPU虚拟化相关代码分析(三)

    飞腾CPU虚拟化相关代码分析 三 函数set cpu boot mode flag 基本描述 根据CPU启动模式 来设置 boot cpu mode全局数组变量 函数输入输出描述 输入 寄存器w0 函数el2 setup的输出 寄存器w0
  • 树形dp(例题)

    树的最长路径带权值 树的直径可能时红色的边 从上图可以看出 每次要两个变量存放以u为根 最长路径d1 和次长路径d2 那么整个树的最长路径就有可能是d1 d2 我们每次要返回以u为根的贯穿试的最长路径 给他的父节点判断使用如下图 inclu
  • 如何求矩阵的逆矩阵

    如何求矩阵的逆矩阵 叮叮当当sunny 博客园 求逆矩阵最有效的方法是初等变换法 虽然还有别的方法 如果要求方阵 AA 的逆矩阵 标准的做法是 将矩阵 AA 与单位矩阵 II 排成一个新的矩阵 AI AI 将此新矩阵 AI AI 做初等行变
  • 埋点是什么?有什么作用?前端如何埋点?

    一 什么是埋点 埋点 tracking 是指在应用程序中插入代码或工具来记录某些事件的行为和属性 例如用户在应用中的点击 浏览 购买 注册等操作行为 这些数据可以被用来分析用户行为 优化产品功能 改进用户体验等 通过埋点 开发人员可以采集用
  • /Library/Developer/CommandLineTools/usr/bin/python3 :NO module named pytest解决

    报错场景 已经用pip3 install pytest 成功下载pytest 结果运行python3 m pytest xxx py还是报错 Library Developer CommandLineTools usr bin python
  • *python解决狼羊菜过河问题

    python解决狼羊菜过河问题 A岸有菜 羊 狼 农夫农夫必须将他们都送到B岸每次只能送一个 在保证他们不会被吃的前提下 完成任务 并得出步骤 代码 A 狼 1 羊 1 菜 1 B 狼 0 羊 0 菜 0 size len A count
  • 没有与这些操作数匹配的`“>>“`运算符错误;

    报错信息 没有与这些操作数匹配的 gt gt 运算符错误 网上查询大多是少了头文件