以下のコード行はgcc、このファイルが として保存されている場合でも、コンパイラでエラーを出していますcheck.c。エラーは次の行void swap_address(int& a, int& b)にあります
エラー: '&' の前に ';'、',' または ')' が必要です トークン
このコマンドを使用して C ファイルをコンパイルしました。gcc -o check check.c
g++しかし、次を使用してコンパイラを使用すると、同じコードが正常に機能します。g++ -o check check.c
g++ではなく で機能する理由を教えてくださいgcc。
コード:
#include <stdio.h>
void swap_value(int a, int b)
{
a=a+b;
b=a-b;
a=a-b;
}
void swap_address(int& a, int& b)
{
a=a+b;
b=a-b;
a=a-b;
}
int main()
{
int i=5,j=3;
swap_value(i,j);
printf("%d%d\n", i, j);
swap_address(i,j);
printf("%d%d\n", i, j);
return 0;
}