我需要使用void swap(int& x)
函数交换int i[2]
格式的几个整数。如您所见,该函数需要参数类型int&
。这里是功能的非工作版本:C++交换通过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&
参数。这是Bjarne Stroustrup的书中的一个问题:“C++编程语言”,第三版。这是第5章中的问题#4。该问题首先要求编写以int*
为参数的函数,而不是将其修改为接受int&
作为参数。
int&是对int的引用。看看你的代码如何改变可能与int *。一般来说,你可能想要刷新引用和指针。 – 2010-02-19 02:24:50
我不明白为什么这应该与Stroustrup先生有关。删除标签... – MartinStettner 2010-02-19 02:27:05
嗯,你是对的,这很不清楚。我的意思是表示这是他书中的一个问题。 – Morlock 2010-02-19 02:32:45