jjzjj

c++ - constexpr 与 std::array - "Non-type template argument is not a constant expression"

coder 2023-11-16 原文

<分区>

我正在尝试实现以下内容:

#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。有什么想法吗?

有关c++ - constexpr 与 std::array - "Non-type template argument is not a constant expression"的更多相关文章

随机推荐