Так что я пишу довольно длинный код, и теперь у меня возникла проблема. Как изменить значения атрибута структуры и вернуть их к основной функции. То, что я пытаюсь выполнить эту функцию, заключается в следующем: вставить новое значение в первое место (то есть 0). Все для цикла освобождает Z [0] и отлично работает. Но я не знаю, как вернуть весь структурный массив CHANGED в основную программу. Как это сделать?Возвращаемое значение массива структуры
спасибо. P.S. извините, за мой сломанный английский.
Вот части необходимый код:
void insertion(Player Z[], int size); //declaration of the funcion
...
int main()
{
int size=5;
Player *Z = new Player[size];
Insertion(Z, size); //calling the function
...
}
void Insertion(Player Z[], int size) //function
{
size++;
Player* temp = new Player[size];
for(int i=0;i<=size-1;i++)
{
temp[i+1]=Z[i];
}
delete [] Z;
Z = temp;
cin>>Z[0].name;
cin>>Z[0].surname;
}
Использование 'std :: vector'. –
Я новичок в программировании на С ++. Я понимаю, что std :: vector используется для изменения размера массивов. Но помогает ли это каким-либо образом вернуть значение массива из функции? Где я могу найти лучшую информацию о std :: vector или вы можете дать простой пример, как использовать его в этом случае? – Rokelio
@Rokelio: http://en.cppreference.com/w/cpp/container/vector. Тем не менее, каждая книга C++ ** должна ** охватывать 'std :: vector'. Если у вас нет, то выбросьте его. 'std :: vector' является одним из стандартных классов контейнеров C++. Это часть языка. Вы используете его по умолчанию для каждой проблемы * «У меня есть коллекция X-вещей, и X будет только известна, когда программа будет работать» * kind. Не используйте 'new []'. –