我发现这个编译错误很奇怪。 错误C2678:二进制'>>':找不到操作符需要类型'std :: istream'的左手操作数(或没有可接受的转换) 我正在编译MVC++ Express 2010下面是代码:错误C2678:二进制'>>':找不到操作符找到类型'std :: istream'的左侧操作数(或没有可接受的转换)
错误表明它来自第8行。
1 int m;
2 vector <string> grid;
3
4 cin >> m;
5
6 for(int i=0; i<m; i++) {
7 string s;
8 cin >> s;
9 grid.push_back(s);
10 }
您能否显示您的标题? – billz
你是否包含了所有必要的标题? – taocp
很显然,你缺少头文件(和标准库中名称前面的'std ::')。除此之外,即使编译完成,代码也会被破坏,因为您正在使用'>>'的结果而未验证操作是否成功。 –