Как инициализировать статический массив std :: array с помощью статической переменной const? - PullRequest
0 голосов
/ 13 ноября 2018

Как инициализировать статический массив std:, который использует статическую переменную const в качестве размера? Я пытался найти похожие вопросы, но std::array является относительно новым, поэтому их не так много.

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

1 Ответ

0 голосов
/ 13 ноября 2018

Как и любой другой элемент статических данных, ExampleClass::myArray должно иметь внешнее определение ровно в одной единице перевода, где вы записываете его тип и его квалифицированное имя как обычно:

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