我試圖使用矢量svec來存儲一些字符串值。但是,在Dev C++ 5.6.1編譯時,編譯器報告「操作符=不匹配」的錯誤。爲什麼會出現這個錯誤以及如何解決它?謝謝。如何修改矢量成員的值?
#include<vector>
#include<iostream>
#include<string>
using namespace std;
int main() {
vector<string> svec[100];
for (int i = 0; i < 100; ++i) {
svec[i] = "ABC";
}
return 0;
}
[錯誤]敵不過 '運算符='(操作數的類型是 '標準::矢量>' 和 '爲const char [4]')
編輯:問題是在向量SVEC [ 100];將它改爲vector svec(100)後,情況會好轉;
edit2:我很好奇編譯器認爲這個聲明如下。 svec仍然被宣佈爲矢量?
vector<string> svec[100];
'svec'是一組向量。你需要一個大小爲100的矢量,'vector svec(100);' –
juanchopanza
2014-10-17 15:03:47
我知道這可能只是一個例子,但是一個提示:你可以創建一個具有相同元素的矢量,像這樣重複:'vector svec(100, 「ABC」);' –
2014-10-17 15:04:37
是的問題在於聲明。謝謝。 – 2014-10-17 15:06:07