我试图使用从这个问题的解决方案:使用std ::复制 - 错误C2679:无法找到正确的二进制 '=' 操作
错误信息
C:\程序文件(86)\微软的Visual Studio 10.0 \ VC \包括\ xutility(2144):错误C2679:二进制 '=':没有操作员发现它接受一个右手OPE兰特类型“const的线”的(或不存在可接受的转化率)
(并在此之后一堆模板跟踪数据)
我使用Visual C++ 2010速成。
代码
#include<string>
#include<iostream>
#include<fstream>
#include<vector>
#include<iterator>
class Line
{
std::string data;
public:
friend std::istream& operator>>(std::istream& inputStream, Line& line)
{
std::getline(inputStream, line.data);
return inputStream;
}
operator std::string()
{
return data;
}
};
int main(int argc, char* argv[])
{
std::fstream file("filename.txt", std::fstream::in | std::fstream::out);
std::vector<std::string> lines;
// error is in one of these lines
std::copy(
std::istream_iterator<Line>(file),
std::istream_iterator<Line>(),
std::back_inserter(lines));
}
还有一个类似的错误(我认为)GCC:http://codepad.org/G3Chty9K – 2011-06-10 06:51:40