您的位置:首页 > 其它

关于错误提示conflicting types for "XXX"

2015-03-19 20:59 381 查看
在写这篇文章之前,首先需要说明一下我所记录问题的产生地--来自Objective-c基础教程(第二版)书中例子演练。

这个问题提示,是在我运行书中第三章shapes-object程序时产生的。

在书中,首先介绍了传统的面向过程编成的方法,继而介绍了obj-c面向对象的编程方法,是一个简单的画图程序(其实在这里的实现很简单,只是显示在某个坐标矩形框内显示某个颜色图形,如红色的原型、绿色的矩形、蓝色的椭圆等)。正常的输出例子应该如下:

2015-03-19 21:06:46.104 shapesObject[414:6731] drawing a circle at (0,0,0,0) in red
2015-03-19 21:06:46.106 shapesObject[414:6731] drawing a rectangle at (1,1,1,1) in green
2015-03-19 21:06:46.107 shapesObject[414:6731] drawing an egg at (2,2,2,2) in blue
2015-03-19 21:06:46.107 shapesObject[414:6731] drawing a Triangle at (3,3,3,3) in blue
Program ended with exit code: 0

但是第一遍运行时,我发现运行失败,有许多类似于 Implicit declaration of function 'drawShapes' is invalid in C99   和     conflicting types for ‘drawShapes’ 之类的错误提示,后来发现可能原因如下:

1.没有先做函数声明,而函数位于main()之后。在main函数声明前声明了函数原型之后,就可以解决该问题。

2.在自己声明的某些方法的顺序上出了问题。比如该方法中调用了某个类,但是该类的接口声明在方法之后。将类接口声明放在方法之前,就搞定。

3.类的.h文件里的声明和.m文件中的定义参数有差别。

排查上述原因后,该错误提示就可以解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐