我正在尝试实现以下内容:
#include <array>
#include <cstdint>
class Class2
{
};
class Class1
{
public:
static constexpr uint8_t GetMax() { return 5; }
static constexpr uint8_t GetMin() { return 0; }
static constexpr uint8_t GetCount() { return GetMax() - GetMin() + 1; }
private:
std::array<Class2, Class1::GetCount()> m_classes;
};
但是由于错误,我无法使它正常工作:
非类型模板参数不是一个常量表达式
我正在使用Xcode 5.0。有什么想法吗?
GetCount()
在其定义之前使用"。很可能是因为Class1
在成员声明中不完整。但这并不是一个答案,因为(a)我不确定,(b)我不知道如何修复它。 - Mike SeymourClass1
外部声明数组是有效的。但我想看看如何解决这个问题。 - Nemanja Boric