2

std::istreamを使用してどのように読み取ることができoperator>>ますか?

私は次のことを試しました:

void foo(const std::istream& in) {
  std::string tmp;
  while(in >> tmp) {
     std::cout << tmp;
  }
}

しかし、それはエラーを与えます:

error: no match for 'operator>>' in 'in >> tmp'
4

3 に答える 3

10

演算子>>はストリームを変更するため、constを渡さず、参照だけを渡します。

于 2009-08-19T22:38:32.573 に答える
4

非定数参照を使用します。

void foo(std::istream& in) {
  std::string tmp;
  while(in >> tmp) {
     std::cout << tmp;
  }
}
于 2009-08-19T22:40:12.617 に答える
1

あなたはそれを正しい方法でやっています。必要なヘッダーをすべて含めてもよろしいですか?(<string><iostream>)?

于 2009-08-19T22:33:51.787 に答える