2016-11-29 87 views
-2

我试图创建空的字符串向量的数组,但我不能管理初始化向量能值推到他们:初始化空载体的数组

vector <string> v[500]; 
// vector initializing code 
v[0].push_back("hello"); // should work now 

错误信息是:

'v' does not name a type 

我应该如何初始化v [0] .push_back()的工作?

+0

此刻什么不适合你?您目前的问题描述不清楚。 **编辑:**您的代码按原样运行。演示:[这里](https://ideone.com/fLXQ82)。 –

+0

'v [0] .push_back(“hello”);'不工作?如果是这样,怎么会这样? – NathanOliver

+0

这应该工作。 'vector v [500]'应该初始化向量为空。 – axalis

回答

1

正如在你的问题的所有评论中指出的,你的错误发生是因为你从main函数中写出你的代码。每个C++程序都必须拥有它。

顺便说一句,这里有免费的好习惯(在评论中也可以找到)。

  • 使用std::array而不是C数组,如果你知道在编译时的大小(我相信你这样做)。
  • 避免using namespace std;,因为it's bad
  • 请确保你做得很好,包括:#include <string>#include <vector>#include <array>如果使用的话。
  • 如果你是C++初学者,我建议C++ Primer,更新为C++ 11。如果你是一个完整的初学者,Programming: Principles and Practice Using C++