Задать вопрос
@AiR_WiZArD

Как запихать безразмерный массив внутрь безразмерного массива?

Не знаю, правильно ли я делаю, но суть такова: есть объект, на котором может быть закреплено X разных блоков с двигателями, при этом каждый блок с двигателями имеет Y разных двигателей. Так как значения заданы в отдельном файле, заранее определить не получится. А брать по максимуму не очень экономично в плане ресурсов. Написал такие структуры:

//	Одиночный трастер
typedef struct
{
	sf::String textureLocation;		// Текстура объекта
	sf::Vector2f attachmentPoint;	// Точка крепления в px
	sf::Vector2f size;				// Размер объекта  в метрах
	float textureRotation;			// Ориентация текстуры
	float maxAngle;					// Максимальное отклонение при повреждении
	float thrust;					// Тяга трастера
	float specificImpulse;			// Удельный импульс трастера
} thrusterType;

//	Блок трастеров
typedef struct
{
	sf::String textureLocation;		// Текстура объекта
	sf::Vector2f attachmentPoint;	// Точка крепления в px
	sf::Vector2f size;				// Размер объекта
	float textureRotation;			// Ориентация текстуры

        // Информация о трастерах в составе блока
	thrusterType thrusters[];		

} thrusterMountType;

//	Информация об объекте
typedef struct
{
	sf::String textureLocation;		// Текстура объекта
	sf::Vector2f centerMass;		// Центр масс
	sf::Vector2f size;				// Размер объекта
	float textureRotation;
	float massDry;					// Сухая масса
	float massFuel;					// Масса топлива
	int n;
	
	// Информация о блоках трастеров в составе объекта
	thrusterMountType thrusterMount[];

} physicalObjectType;


Вот только компилятор такое воспринимать отказывается, так это создает двумерный безразмерный массив. Каким образом можно переделать?
  • Вопрос задан
  • 129 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Нетология
    Специалист по информационной безопасности + нейросети
    12 месяцев
    Далее
  • Компьютерная академия «TOP»
    Учебная программа “Разработка программного обеспечения”
    30 месяцев
    Далее
Решения вопроса 1
tsarevfs
@tsarevfs Куратор тега C++
C++ developer
Используйте std::vector. Это массив который может расширяться во время работы программы. Обычно это хороший выбор вместо массивов почти во всех случаях. Смотрите методы push_back или resize.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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