为什么我的项目包括矢量或数组?

时间:2014-04-28 23:43:34

标签: c++ arrays vector compiler-construction ide

所以我还在学习C ++,但我无法弄清楚我做错了什么。我正在使用Code :: Blocks IDE,尽管包含了向量和数组头,它给了我一个很大的错误列表,并说在这个范围内没有声明任何内容。代码非常基础:

#include <iostream>
#include <vector>
#include <array>
#include <string>

using namespace std;

int main()
{
string b = const, 10;
vector<string> string1(b);
array<string, b> string2;
return 0;
}

好的,记录,这就是我要做的事情:

&#34;声明一个包含10个字符串对象的矢量对象和一个10字符串的数组对象 对象。显示必要的头文件,不要使用。请使用const 字符串的数量。&#34;

1 个答案:

答案 0 :(得分:3)

你的错误是,逐行...

string b = const, 10;

那个根本没有意义,我不知道你在那里期待什么。将字符串分配给b

string b = "whatever";

vector<string> string1(b);

vector<T>不包含带T的构造函数。在您的情况下,没有构造函数采用string。如果您的编译器支持它,您可以使用:

vector<string> string1 = {b};

如果它没有,那就够了......

vector<string> string1;
string1.push_back(b);

array<string, b> string2;

array<T,size_t>Tstring)和元素数量size_t作为模板参数。 bstring,而不是size_t,所以这没有任何意义。将大小作为第二个模板参数传递。

array<string, 10> string2;

根据@Benjamin Lindley的评论,也许您打算在第一行声明const int,其值为10。如果是,那么......

int main()
{
    const int b = 10;
    vector<string> string1(b);
    array<string, b> string2;
    return 0;
}