数组中的随机字符串

时间:2013-02-05 16:38:12

标签: c++ arrays string random

我无法在C ++上为未知原因定义字符串数组。我需要从这个数组中随机获取一个字符串。

尝试以下内容:

string bands[] = { "Rammstein", "Slipknot", "Franz Ferdinand", "Gorillaz" };

我收到以下错误:

error C2146: syntax error : missing ';' before identifier 'bands'
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
error C3845: 'SpurdoSparde::Form1::bands': only static data members can be initialized inside a ref class or value type

提醒一下,我正在使用Windows表单应用程序。不确定它是否有任何区别。

2 个答案:

答案 0 :(得分:2)

您好像不包括string和/或using std::string。以下作品:

#include <string>

int main()
{
  std::string bands[] = { "Rammstein", "Slipknot", "Franz Ferdinand", "Gorillaz" };
}

如果您正在使用动态大小的字符串集合,那么您应该优先于C样式数组std::vector<std::string>。如果您需要固定的尺寸,如果您没有C ++ 11,请查看std::array<std::string, N>tr1boost个替代品。

答案 1 :(得分:1)

您要么未包含#include <string>,要么需要将std::命名空间限定符添加到您的类型中:

std::string bands[] = { ... };

首选using namespace std;

此外,你可能应该更喜欢使用std::vector而不是普通的旧C风格数组:

std::vector<std::string> bands = { ... };