2013-12-13 5 views
-1

интересно, что эта ошибка ..>> оператор ifstream

с: lab1a.cpp (16): C2678 ошибка: бинарная '>>': ни один оператор не найден, который принимает левого операнда типа «зОго :: ifstream» (или нет приемлемой конверсии)

#include "StdAfx.h" // precompiled 
#include <iostream> 
#include <fstream> 
#include <algorithm> 
#include <cstdlib> 
#include <ctime> 

#include <vector> 

using namespace std; 

// No checking of end of stream etc. 
void getw(string& t, ifstream& in) 
{ 
    in >> t; 
} 
+0

Вы включили тонны дополнительных заголовков за то, что вы показали, но не тот, который вы используете. – chris

+0

Компиляция без подглядывания здесь. Тем не менее, у @chris есть точка. '' отсутствует. –

+0

>> должен быть перегружен! –

ответ

0

Ключа ошибки с помощью этого кода является то, что он отсутствует заголовок <string>.

Кроме этого интерфейс по своей сути нарушен, поскольку он не поддерживает проверку ошибок (я понимаю, что состояние потока все еще можно проверить, но возврат состояния потока делает его гораздо более вероятным, чтобы он был проверен). Кроме того, такая функция должна быть реализована в краях std::istream, а не std::ifstream, так как она не использует никаких спецификаций std::ifstrean.

Смежные вопросы