1. 程式人生 > 其它 >error: expected ';', ',' or ')' before '&' token 解決方法

error: expected ';', ',' or ')' before '&' token 解決方法

https://www.cnblogs.com/zzdbullet/p/9776890.html

error: expected ';', ',' or ')' before '&' token 解決方法

donoot

於 2018-05-01 13:34:26 釋出

96045
收藏 68
分類專欄: C/C++
版權

C/C++
專欄收錄該內容
3 篇文章1 訂閱
訂閱專欄
在用Devcpp驗證函式“引用傳遞”的時候,出現了錯誤提示:[Error] expected ';', ',' or ')' before '&' token

原始碼如下:

#include <stdio.h>

int exchg(int &x,int &y){

int tmp=x;
x=y;
y=tmp;
printf("x=%d,y=%d",x,y);
return 0;
}

void main(){
int a=6,b=4;
printf("a=%d,b=%d",a,b);
exchg(a,b);
printf("a=%d,b=%d",a,b);
}

為何在編譯時候會出現 ‘error: expected ';', ',' or ')' before '&' token’ 這個錯誤提示呢,很多同學在這一點上無法理解,明明語法上並無錯誤,為什麼呢?

其實這就是C語言的一個知識點:

在C語言中是不存在引用的,也就是說C語言中&表示的不是引用,而是取地址符。所以編譯器出現的錯誤提示表明&在這裡不能這樣用,如何解決這個問題呢?

1、常規的解決方法:用指標來取代引用,在主函式中傳進來地址;

2、將程式碼副檔名儲存成.cpp檔案

為什麼?

我們可以認為,c不認引用傳遞,但是c++支援引用傳遞啊!
————————————————
版權宣告:本文為CSDN博主「donoot」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/donoot/article/details/80155918