Инициализация std :: array с помощью Visual Studio 2010 - PullRequest
0 голосов
/ 07 сентября 2018

У меня проблема с инициализацией массива std :: с помощью Visual Studio 2010. Я знаю, что с помощью современного компилятора я могу сделать следующее

#include <array>

class A
{
    A() : arr({1,2,3,4,5,6}) {}
public:
std::array<float, 6> arr;
};

Однако Visual Studio 2010 не позволяет этого (так какон не полностью поддерживает C++11).Тем не менее, есть ли альтернативный способ, по которому я скучаю?

1 Ответ

0 голосов
/ 07 сентября 2018

Увы нет. Совокупная инициализация - это концепция C ++ 11, а Visual Studio 2010 реализует стандарт C ++ 03.

Альтернативой является создание массива вручную в конструкторе класса.

Если вам нужно создать const экземпляров A, то создайте массив с помощью, скажем, функции static и скопируйте содержимое в arr.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...