Я ищу способ создания объектов класса через l oop. Для справки, я пытаюсь создать класс объектов, пользовательский ввод определит, сколько объектов необходимо. Я использую конструктор внутри для l oop, чтобы сделать это, но он требует, чтобы имя объекта было переменным. Я перепробовал много методов, ничего не получалось, включая векторы. Я буквально начал использовать C ++ в день go, поэтому игнорируйте беспорядочный код или ошибки fool sh, если они не имеют отношения к вопросу, это любимый проект.
// Enemy Names
string eNames[ENum]{};
// Enemy Initiatives
double eInits[ENum]{};
//Enemy Temp ID's
int eTempids[ENum]{};
// Enemy Names Vector
std::vector<EnemyClass> en(ENum);
if (ENum > 0) {
for(int i = 0; i < ENum; i++){
string name;
double init;
int tempid = i + PLAYER;
cout << "Enter Enemy " << i + 1 << "'s Name" << endl;
cin >> name;
cout << "Enter " << name << "'s Initiative" << endl;
cin >> init;
eNames[i] = name;
eInits[i] = init;
eTempids[i] = tempid;
EnemyClass en[i](string name, double init, int tempid);
};
}; // END of IF Statement
ru [i] is что должно быть имя переменной. Я либо получаю сообщение об ошибке, в котором говорится, что «замедление« en »как массива функций», либо что «EnemyClass» не является объявленной функцией. Не уверен, как использовать это как попытку из другого найденного мной сообщения на форуме:
Вопрос был таким же, как у меня, с кодом ниже:
for (int count = 0; count < no_of_objects; count ++)
{
ClassName object_name[count]
}
Код ответа:
std::vector<ClassName> objects (no_of_objects);
Но это приводит к ошибке «Не объявлена функция» в файле stl_construct.h