august 发表于 2007-8-25 15:52:43

一个例子

#include<stdio.h>
Exchg3(int &x, int &y) /*注意定义处的形式参数的格式与值传递不同*/
{
   int tmp=x;
   x=y;
   y=tmp;
print("x=%d,y=%d\n",x,y);
}
main()
{
int a=4;
int b=6;
      Exchg3(a,b);/*注意:这里调用方式与值传递一样*/
      Print("a=%d,b=%d\n", a, b);
}

第二行报错不可这样写的吗?我是从网上拿过来的

shawind 发表于 2007-8-25 18:28:34

真不知道是什么高人写出来的程序。

Zelsazgh 发表于 2007-8-26 08:40:59

应当的指定VOID类型函数.......void exchg3(int&,int&)

august 发表于 2007-8-26 09:42:14

加上VOID也一样

lw 发表于 2007-8-26 10:16:43

.c 的程序可以不加,但是&必须是C++
print?Print?应该是printf巴- -
其他没错了………………

Zelsazgh 发表于 2007-8-26 11:05:36

有点乱....使用了引用....在MAIN上也要加int .....printf注意全小写....

lw 发表于 2007-8-26 12:41:05

楼主不妨巴文件名放上,就比较明显了,

另外通常VC会根据后缀进行C C++的编译器选择,但是可以强制指定= =

coolpay64 发表于 2007-8-26 14:15:18

所有副程序/函數必須有data type(1) 只有C++類別的Constructor只需要data type
所有副程序/函數必須有回傳(return) (2)
不是print , Print而是printf (3)

//change ->修改了的行
//added->新增的行

某用g++翻譯這個便可以行了

#include<stdio.h>
void Exchg3(int &x, int &y) /*注意定义处的形式参数的格式与值传递不同*/ //changed (1)
{
int tmp=x;
x=y;
y=tmp;
printf("x=%d,y=%d\\n",x,y); //changed (3)
}
int main() //changed (1)
{
int a=4;
int b=6;
      Exchg3(a,b);/*注意:这里调用方式与值传递一样*/
      printf("a=%d,b=%d\\n", a, b); //changed (3)
return 0; //added(2)
}

duzhi5368 发表于 2007-8-28 10:48:07

blus 发表于 2007-8-28 17:44:46

不知是哪个强人写出来的程序
页: [1]
查看完整版本: 一个例子