Подтвердить что ты не робот

Ошибка C2679: двоичный '>>': оператор не найден, который принимает правый операнд типа 'std::string' (или нет приемлемого преобразования)

Пожалуйста, не путайте с заголовком, как его уже спрашивал кто-то, но для другого контекста

Следующий код в Visual С++ Compiler (VS2008) не получает компиляции, вместо этого он выдает это исключение:

std::ifstream input (fileName);   

while (input) {
  string s;
  input >> s;
  cout << s << endl;
};

Но этот код отлично компилируется в cygwin g++. Любые мысли?

4b9b3361

Ответ 1

Включили ли вы все следующие заголовки?

  • <fstream>
  • <istream>
  • <iostream>
  • <string>

Думаю, ты забыл <string>.

На стороне примечания: Это должно быть std::cout и std::endl.