我有一个C14项目,不能使用C17内联变量。
// myclass.h
class MyClass {
struct Inner {
using StringArray = std::array<const char*, 1>;
static constexpr StringArray kStrings{{ "foo" }};
}
}
//myclass.cpp
constexpr MyClass::Inner::StringArray kStrings;
// ^^^^^
// Error: "Inner" is a private member of "MyClass"
有没有可能让它在C14中工作,或者只能在C17中工作?
1条答案
按热度按时间lo8azlld1#
您试图给予一个新的文件作用域变量
::kStrings
。您想定义静态成员MyClass::Inner::kStrings
: