以下のコード行は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;
}