Мне нужно обменять пару целых чисел в формате int i[2]
с помощью функции void swap(int& x)
. Как видите, функция принимает аргумент типа int&
. Вот нерабочая версия функции:
int i[2] = {3, 7};
void swap (int& x)
{
int temp;
temp = x[1];
x[1] = x[0];
x[0] = temp;
}
int main()
{
cout << i[0] << ", " << i[1] << "\n"; // return the original: (3, 7)
swap(i);
cout << i[0] << ", " << i[1] << "\n"; // return i swapped: (7, 3)
}
Как мне это сделать?
Изменить: Ответ не может использовать что-либо еще для параметра функции. Он ДОЛЖЕН использовать параметр int&
. Это проблема из книги Бьярна Страуструпа: «Язык программирования C ++», третье издание. Это проблема № 4 из главы 5. Вначале задача состоит в том, чтобы написать функцию, принимающую int*
в качестве параметра, а затем изменить ее для принятия int&
в качестве параметра.