Я знаю, что есть несколько подобных ранее заданных вопросов. Но ни один из них не получил широкого признания, и вектор указателей по-прежнему очень смущает меня.Вектор указателей класса
Вот код:
Представьте, что мы есть:
vector<member*> vector_member;
for (int i = 0; i < n; i++){
member* mem = new member(i); //constructor
mem->init(); //This function use a random number generator to give the member some randomness
vector_member.push_back(mem);
}
После выполнения этого кода, я считаю, что все случайное число для vector_member [я] то же самое!
У любого эксперта есть представление об этом?
Любая возможность показать нам класс-член или функцию init? – DaaaahWhoosh
Здесь нет ничего явно неправильного (хотя жонглирование сырыми указателями требует неприятностей). Что делает 'init'? Мы не можем догадаться, почему цифры могут быть одинаковыми, не видя, как они сгенерированы. –
Здесь так много, что мы не можем видеть, включая фактическое создание номеров, на которые вы жалуетесь, что этот вопрос невозможен. Отправьте свой [testcase] (http://sscce.org) при написании отладочного вопроса. Благодарю. –