|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
void exchange(int *p1, int *p2);
int main()
{
int a=10 , b=30;
void exchange(&a,&b);
cout << a<< ' '<< b;
return 0;
}
void exchange(int *p1, int *p2)
{
int temp = 0;
temp = *p1;
*p2 = *p1;
*p1 = temp;
}这个编译器说这里不允许使用不完整的类型,这里什么错了?谢谢
这个错误是因为在主函数中调用 exchange 函数的方式不正确。在C++中,函数调用不需要使用 void 关键字,而且函数名前不需要使用 & 符号。所以正确的调用方式应该是 exchange(&a, &b); 。
以下是修改后的代码:
- #include <iostream>
- using namespace std;
- void exchange(int *p1, int *p2);
- int main()
- {
- int a = 10, b = 30;
- exchange(&a, &b);
- cout << a << ' ' << b;
- return 0;
- }
- void exchange(int *p1, int *p2)
- {
- int temp = 0;
- temp = *p1;
- *p1 = *p2;
- *p2 = temp;
- }
复制代码
这样修改后,程序就能正确地交换变量 a 和 b 的值了。
|
|