// xx.h
class XX {
...
public:
static constexpr char *xarr[2] = {"Spring", "Fall"};
static const char *arr[2];
...
}
// xx.cpp
constexpr char* xarr[2];
const char* arr[2]=["Spring", "Fall"];
// main.cpp
...
for (auto str : XX::arr)
...
for (auto str : XX::xarr)
...
...
上面的代码在 VS2015 中能够编译通过,但运行的话出现这两种情况:
然后我又试了一下
static constexpr char carr[2] = {'X', 'Y'};
这个正常运行。。。
话说这是肿么回事, constexpr 与char*
元素的数组不能一起用么?