这段代码让我有点疯狂:
struct my_struct
{
private:
static constexpr const char* some_string() noexcept;
public:
my_struct() = default;
private:
std::string _my_string{some_string()};
}
//in cpp
constexpr const char* my_struct::some_string() noexcept
{
return "Lorem ipsum dolor sit amet, consetetur sadipscing elitr,"
"sed diam nonumy eirmod tempor invidunt ut labore et"
" dolore magna aliquyam erat, sed diam voluptua.";
}
我的编译器g++ (Debian 4.9.2-10) 4.9.2
抱怨some_string
未定义!删除constexpr
- 关键字解决了问题,但仍然是造成这种情况的原因?
是否有一些C ++规则我只是错过了或它是编译器错误还是这两个选项都没有?