在C ++中使用向量

时间:2015-07-16 11:07:41

标签: c++ stdvector

我得到了一份我需要帮助的作业。我试图将矢量初始化为

vector<char> symbol(26) = {'!', '^', '&', '*', '@', '(', ')', '-', '#', '_', '=', '+', '[', '{', '$', ']', '}', ';', ':', ',', '%', '<', '.', '>', '/', '?'};

但我一直收到错误。什么应该是正确的语法,可以像

一样运作
symbol.at(0) = '!';
symbol.at(1) = '^';
symbol.at(2) = '&';

.........

1 个答案:

答案 0 :(得分:4)

vector<char> symbol(26);

这声明vector<char>名为symbol并使用构造函数参数26构造它以创建26 char s。

vector<char> symbol = { ... };

这声明vector<char>名为symbol,并使用元素...对其进行初始化。

您不能也不需要将这两种方法混合在一起。

您似乎可能正在考虑数组声明(例如char symbol[26] = { ... }),但数组不是向量,向量不是数组......构造函数参数列表不是数组维度。

删除(26)

您最好删除=,因为您正在使用&#34; new&#34; C ++ 11 list-initialisation。

vector<char> symbol{'!', '^', '&', '*', '@', ... };