我发现这个编译错误很奇怪。 错误C2678:二进制'>>' :没有找到哪个运算符采用'std :: istream'类型的左手操作数(或者没有可接受的转换) 我正在MVC ++ Express 2010下编译代码:
错误表明它来自第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 }
答案 0 :(得分:5)
您需要#include <string>
。此外,如果您还没有添加#include <iostream>
和#include <vector>
。
答案 1 :(得分:1)
您需要#include<string>
和#include<iostream>
答案 2 :(得分:0)
在我的情况下,当我这样做时出现错误:
25
显然,&lt;&lt; operator不会因为volatile int而过载,从而删除了'volatile'。是解决方案。