为什么在使用引用(int &a)的时候gcc编译通不过?

软件和网站开发以及相关技术探讨
回复
lijinhui235711
帖子: 3
注册时间: 2007-09-10 16:15

为什么在使用引用(int &a)的时候gcc编译通不过?

#1

帖子 lijinhui235711 » 2007-09-10 16:17

一个简单的c文件:

int f(int &a){return a;}
int main(){return 0;}


gcc test.c 报错:
expected ‘;’, ‘,’ or ‘)’ before ‘&’ token
头像
bones7456
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
联系:

#2

帖子 bones7456 » 2007-09-10 16:23

这本来就不合法吧,你的意思是int *a?
关注我的blog: ε==3
头像
nobrain
帖子: 808
注册时间: 2005-08-25 13:58
来自: ustc
联系:

#3

帖子 nobrain » 2007-09-10 16:32

你那种是C++里面的用法,C里面没有,把扩展名改成cc,就会按照C++来编译了。
爱喝真猪奶茶的夜鸣猪
lijinhui235711
帖子: 3
注册时间: 2007-09-10 16:15

#4

帖子 lijinhui235711 » 2007-09-10 17:01

使用递归为什么报错:

void f(){f();}
头像
nobrain
帖子: 808
注册时间: 2005-08-25 13:58
来自: ustc
联系:

#5

帖子 nobrain » 2007-09-10 17:28

lijinhui235711 写了:使用递归为什么报错:

void f(){f();}
正常啊
lz的源文件怎么写的,以及gcc是怎样调用的?
爱喝真猪奶茶的夜鸣猪
lijinhui235711
帖子: 3
注册时间: 2007-09-10 16:15

#6

帖子 lijinhui235711 » 2007-09-10 18:00

gcc test.cpp -o run

/tmp/cczw0POh.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld 返回 1


test.cpp:


#include<stdio.h>
void f()
{
f();


}
int main()
{
return 0;

}
dbzhang800
帖子: 3182
注册时间: 2006-03-10 15:10
来自: xi'an China
联系:

#7

帖子 dbzhang800 » 2007-09-10 20:20

lijinhui235711 写了:g++ test.cpp -o run

/tmp/cczw0POh.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld 返回 1


test.cpp:


#include<stdio.h>
void f()
{
f();


}
int main()
{
return 0;

}
回复