【问题标题】:How to initialize static std::array with static const variable?如何使用静态 const 变量初始化静态 std::array?
【发布时间】:2019-04-15 17:20:39
【问题描述】:

如何初始化使用静态 const 变量作为大小的静态 std:array?我尝试搜索类似的问题,但 std::array 相对较新,因此找不到太多内容。

// ExampleClass.h
class ExampleClass {
    public:
        static const size_t NUMBER_OF_INDEXES = 5;
    private:
        static std::array<int, NUMBER_OF_INDEXES> myArray;
};

【问题讨论】:

    标签: c++ c++11 stdarray


    【解决方案1】:

    与任何其他静态数据成员一样,ExampleClass::myArray 应该在一个翻译单元中具有一个离线定义,您可以像往常一样在其中写下它的类型和限定名称:

    std::array<int, ExampleClass::NUMBER_OF_INDEXES> ExampleClass::myArray = {1, 2, 3, 4, 5};
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-15
      • 2011-08-22
      • 2010-12-22
      • 2017-05-13
      • 2016-03-05
      • 1970-01-01
      • 2021-10-28
      • 1970-01-01
      相关资源
      最近更新 更多