@LaFa777

Массив данных как член класса?

Привет всем. Делаю программу на Qt 5.3.1 с компилятором идущим в комплекте Microsoft Visual studio 2013 Express Desktop. Встала задача встроить в программу расписание, пришел к выводу, что логичнее это будет реализовать как массив чисел, изначально доступных в виде члена класса, но вот с реализацией возникли проблемы. Следующий класс компилируется под MinGW, но становится неработоспособным при компиляции VS 2013. (студия необходима для компиляции под 64 битную архитектуру)
class C
{
	int x[4] = { 0, 1, 2, 3 };
public:
	C(){}
};

Ошибка студии:
Ошибка 1 error C2536: C::C::x: нельзя задавать явный инициализатор для массивов

Вопрос: Как лучше хранить такие данные в c++? Возможен ли компромисс который устроил бы как VS 2013, так и MinGW? Возможно встроенные в язык массивы являются не лучшим решением такой задачи и необходимо воспользоваться средствами Qt?
  • Вопрос задан
  • 3064 просмотра
Решения вопроса 2
tsarevfs
@tsarevfs Куратор тега C++
C++ developer
Компилятору инициализация не нравится(присвоение). Сделайте это в конструкторе. Практически всегда std::vector не хуже обычного массива.
Ответ написан
GavriKos
@GavriKos
Лучше воспользоваться средствами STD - например вектором. Сразу получите динамический размер.

А откуда требование 64-битности? У вас там что, большие числа или адресация вычурная?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы