想知道错误是什么..
c:lab1a.cpp(16):错误C2678:二进制'>>' :找不到哪个运算符带有'std :: 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 :(得分:0)
此代码的主要错误是缺少<string>
标头。
除了接口本质上是坏的,因为它不支持检查错误(我意识到仍然可以检查流的状态,但返回流的状态使其更有可能被检查)。此外,这样的函数应该以{{1}}而非std::istream
的字体实现,因为它不使用std::ifstream
的任何细节。