我试图使用矢量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