【问题标题】:error: ‘is’ was not declared in this scope错误:“is”未在此范围内声明
【发布时间】:2015-08-04 09:10:20
【问题描述】:

我想读取两个文件。我的代码:

#include <iostream>
#include <iterator>
#include <fstream>
#include <vector>
#include <algorithm> 
using namespace std;

int main()
{
  ifstream inFile1,inFile2;
  istream_iterator<double> start(is), end;
  vector<double> numbers1(start, end);
  vector<double> numbers2(start, end);

 inFile1.open("newvel.dat");
 inFile2.open("newres.dat");

  // print the numbers to stdout
  copy(numbers1.begin(), numbers1.end(), 
            ostream_iterator<double>(cout, " "));
  copy(numbers2.begin(), numbers2.end(), 
            ostream_iterator<double>(cout, " "));
  cout << endl;

}

我想我不明白 istream_iterator 是如何工作的。或者我可以解决问题,将文件作为矢量读取并以不同的方式打印它们?

【问题讨论】:

  • 你期望中的is是什么?
  • 您在声明和定义 start 的地方没有任何名为 is 的内容。
  • 看起来你在不了解它是什么或做什么的情况下盲目地从互联网上复制/粘贴一些代码,将其随机转储到你的程序中,然后在它不起作用时表现得惊讶??

标签: c++ iterator


【解决方案1】:

你可能想要这个:

ifstream inFile1("file1.txt"),inFile2("file2.txt");
istream_iterator<double> start(inFile1), end;

你的代码中没有is 东西,所以你得到你的错误

【讨论】:

  • @marcinj。是的,现在我明白我犯了一个错误。
猜你喜欢
  • 2012-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-10
  • 2015-06-23
  • 2010-10-02
相关资源
最近更新 更多