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;
};