如何创建全局字符串数组?

时间:2011-08-24 22:47:53

标签: c++

如何创建全局字符串数组?我已尝试在main之外声明一个字符串并使用myString = new string[5];动态初始化它,但我在Xcode中收到错误“No alive overloaded'='”。我做错了什么?

4 个答案:

答案 0 :(得分:5)

这是你想要的吗?

char const *myStrings[] = {
    "Some",
    "Strings"
};

答案 1 :(得分:3)

您需要使用大括号表示法来初始化数组:

std::string myString[5] =
{
    "string1",
    "string2",
    "string3",
    "string4",
    "string5"
};

如果你只是想宣布并分配它,你只需要:

std::string* myString = new std::string[5];

答案 2 :(得分:1)

您确定myStrings是一个指针,string* myStrings而非string myStrings

答案 3 :(得分:1)

您的代码段有点简洁,但如果您的完整声明是

string myString = new string[5];

然后问题是您正在尝试将字符串的数组分配给仅设计用于保存一个特定字符串的变量。你想要做

string *myStrings = new string[5];

其中全局变量包含指针到数组中的第一个字符串 - 或

string myStrings[5];

全局变量 数组。