VSC13 - 无法为数组/字符串指定显式初始值设定项
VSC13 - cannot specify explicit initializer for arrays / for STRINGS
我知道 Microsoft Visual Studios Community 2013 在数组初始化方面存在问题,但我该如何解决这个专门针对字符串的问题?请尽量解释清楚答案,我对此还是很陌生。
class a{
public:
string words[3] = {"cake","pie","steak"};
};
您在找这样的东西吗?
class a{
public:
string words[3];
a::a() {
words[0] = "cake";
words[1] = "pie";
words[2] = "steak";
}
};
如您所写,它无法编译,因为您无法在定义中初始化非静态数组。这虽然有效:
#include <array>
class a{
public:
a() : words({"cake","pie","steak"})
{
}
std::array<std::string, 3> words;
};
我知道 Microsoft Visual Studios Community 2013 在数组初始化方面存在问题,但我该如何解决这个专门针对字符串的问题?请尽量解释清楚答案,我对此还是很陌生。
class a{
public:
string words[3] = {"cake","pie","steak"};
};
您在找这样的东西吗?
class a{
public:
string words[3];
a::a() {
words[0] = "cake";
words[1] = "pie";
words[2] = "steak";
}
};
如您所写,它无法编译,因为您无法在定义中初始化非静态数组。这虽然有效:
#include <array>
class a{
public:
a() : words({"cake","pie","steak"})
{
}
std::array<std::string, 3> words;
};