C++ 为什么不能先引用后定义

[复制链接]
查看11 | 回复2 | 2009-12-21 19:04:08 | 显示全部楼层 |阅读模式
都必须先声明再定义,在编译的link过程编译器根据声明生成目标清单。当然你可以把声明和定义放在一起,比如:void abc(){cout<<"das"<<endl;}main(){abc();}这样是合法的。第一个的改正方法是:在main前面加上class An;声明这个类。这样还可以解决循环依赖问题
回复

使用道具 举报

千问 | 2009-12-21 19:04:08 | 显示全部楼层
你不先定义,它不知道 自己包含着 什么函数。就跟定义 变量一样,你要先 int x; 在 x = 20; 才可用。直接x=20; 系统不知道 x 从哪儿来的。函数 变量定义 处理方式虽说有些不同,基本的原则一样,必须要告诉速系统 你用了什么样的类型的函数。别问为什么了,开发C的时候 人家那么做的 没办法。--------------------------------------------不过最近出来的,比较智能,无需定义。像 java,c#
回复

使用道具 举报

千问 | 2009-12-21 19:04:08 | 显示全部楼层
解释错了丢人,删了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行