Вы хотите создать массивы динамического размера.
Вам нужны указатели.
struct Particle{
double objVal;
double bestObjVal;
double* position;
double* velocity;
double* bestPosition;
};
Указатель - это адрес памяти переменной определенного типа.В этом примере вы указываете на позицию первого double
значения массива.
В теле:
Particicle p;
...
std::cin >> nVar;
p.velocity = new double[nVar];
Код означает: я хочу nVar
удваивается исохранить первую позицию в velocity
.Итак, velocity[0]
имеет адрес velocity
, velocity[1]
имеет адрес velocity + sizeof(double)
и так далее ...
Ищите массив C ++ с динамическим размером