#C,为什么我使用extern声明时会出现“缺少显示类型”?

如图:图片说明图片说明

在书上一处写到用extern声明外部变量时,类型名可以写也可以省略。

那么我这到底错在什么地方?(经尝试在extern后面加上int即可顺利运行)

补图:图片说明来自:谭浩强的《C程序设计》

你在一个里面声明了 int a
在另一个里要调用的话就要 extern int a

你少个int 其他类型的也同理

是否是看错了?extern是可以省略的,因为外部变量或函数默认就是extern。A是一个变量,类型不能省略。

编译器已经告诉的很清楚了,extern 后缺类型int。c++不会给没有声明变量类型的变量默认指定为int类型。