>" matches these operands operand types-6ren">
gpt4 book ai didi

C++读取一个字符串后跟两个 double

转载 作者:行者123 更新时间:2023-11-28 05:45:56 25 4
gpt4 key购买 nike

我在尝试读入一个字符串然后从一个文件中读入两个 double 时遇到以下错误:

Error: no operator ">>" matches these operands operand types are: std::ifstream >> std::string

对于以下代码:

std::string name;
double mass(0), radius(0), gravity(0);
std::ifstream inFile;
inFile.open("solSystem.txt", std::ios::app);
inCheck(inFile);
while (inFile >> name >> radius >> mass)
{
someFunction(name, radius, mass);
}
inFile.close();

我在 (std::ifstream >> std::string) 之前使用了相同的代码,没有问题,但是在那个例子中,输入文件只有字符。

这是输入文件:

Sun       6.96e+08    1.989e+30
Mercury 2.44e+06 3.285e+23
Venus 6.052e+06 4.867e+24
Earth 6.371e+06 5.972e+24
Mars 3.39e+06 6.39e+23
Jupiter 6.9911e+07 1.898e+27
Saturn 5.8232e+07 5.683e+26
Uranus 2.5362e+07 8.681e+25
Neptune 2.4622e+07 1.024e+26
Pluto 1.186e+06 1.309e+22

在你回答之前,我正在寻找解决这个问题的方法,但我也想知道为什么我会收到这个错误,以便我将来可以避免它。

最佳答案

因此任何偶然发现此问题的人都可以找到解决方案。

  1. 检查以确保包含所有需要的头文件
  2. 检查任何自定义 header ,看看您是否在其中包含其他 header ....这可能会导致像我一样的问题

关于C++读取一个字符串后跟两个 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36213578/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com