// 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*
元素的数组不能一起用么?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.