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

C++ 如何创建字符串的全局数组?,c++,C++,如何创建字符串的全局数组?我尝试在main之外声明一个字符串,并使用myString=newstring[5]动态初始化它,但我在Xcode中收到错误“没有可行的重载“=”。我做错了什么?这是你想要的吗 char const *myStrings[] = { "Some", "Strings" }; 您是否确保myStrings是一个指针,即string*myStrings不是string myStrings您的代码片段有点简洁,但如果您的完整声明是 string myStri

如何创建字符串的全局数组?我尝试在main之外声明一个字符串,并使用
myString=newstring[5]动态初始化它,但我在Xcode中收到错误“没有可行的重载“=”。我做错了什么?这是你想要的吗

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

您是否确保
myStrings
是一个指针,即
string*myStrings
不是
string myStrings
您的代码片段有点简洁,但如果您的完整声明是

string myString = new string[5];
然后问题是,您试图将一个字符串数组分配给一个变量,该变量只设计用于保存一个特定字符串。你会想做的

string *myStrings = new string[5];
其中全局变量包含指向数组中第一个字符串的指针——或


其中全局变量是数组。

需要使用大括号符号来初始化数组:

std::string myString[5] =
{
    "string1",
    "string2",
    "string3",
    "string4",
    "string5"
};
如果您只是试图声明和分配它,您所需要的只是:

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

或者更好的是,
vector mystringstd::string* myString = new std::string[5];