我有一个名为 access 的 constexpr 函数,我想访问数组中的一个元素:
char const*const foo="foo";
char const*const bar[10]={"bar"};
constexpr int access(char const* c) { return (foo == c); } // this is working
constexpr int access(char const* c) { return (bar[0] == c); } // this isn't
int access(char const* c) { return (bar[0] == c); } // this is also working
我得到错误:
error: the value of 'al' is not usable in a constant expression
为什么我不能从访问中访问其中一个元素?或者更好的是,如果可能的话,我该怎么做?