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

在写这篇文章之前,首先需要说明一下我所记录问题的产生地--来自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文件中的定义参数有差别。


排查上述原因后,该错误提示就可以解决。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值