2013-09-30 78 views
0

我發現這個編譯錯誤很奇怪。 錯誤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 } 
+0

您能否顯示您的標題? – billz

+0

你是否包含了所有必要的標題? – taocp

+0

很顯然,你缺少頭文件(和標準庫中名稱前面的'std ::')。除此之外,即使編譯完成,代碼也會被破壞,因爲您正在使用'>>'的結果而未驗證操作是否成功。 –

回答

5

您需要#include <string>。此外,如果您沒有添加#include <iostream>#include <vector>

+2

如果我將它們包括在內,但仍然有這個問題? – Arkady

1

您需要#include<string>#include<iostream>

相關問題