关于错误提示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文件中的定义参数有差别。
排查上述原因后,该错误提示就可以解决。
这个问题提示,是在我运行书中第三章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文件中的定义参数有差别。
排查上述原因后,该错误提示就可以解决。
相关文章推荐
- (已解决)cocos2d-x 运行时xcode提示错误:"vtable for XXX", referenced from;
- cocos2d-x xcode提示错误:"vtable for XXX", referenced from 问题解决;
- 关于“error: conflicting types for 'function'”编译错误的分析
- QtCreator 提示错误:Undefined symbols for architecture x86_64: "vtable for XXX", referenced from
- 关于”error conflicting types for function”编译错误的分析
- 关于”error conflicting types for function”编译错误的分析
- 编译时提示 conflicting types for 错误的解决办法
- C语言“conflicting types for ...” 错误
- 图片上传出现错误提示ognl.MethodFailedException: Method "setUpload" failed for object
- 错误提示:The prefix "aop" for element "aop:config" is not bound.
- conflicting types for XXX (方法名)
- 错误提示: 在此上下文中不允许使用名称 "XXX"。有效表达式包括常量、 常量表达式和变量(在某些上下文中)。不允许使用列名。
- MPI错误:提示XXX Credentials for yyy rejected connecting to XXX
- 关于document.getElementById("xxx").innerHTML赋值错误问题
- 关于"The value for the useBean class attribute is invalid" 错误<转>
- conflicting types for xx错误
- 关于dbunit报Duplicate entry '????' for key 'xxx'错误的问题
- 曾经安装过MySQL数据库,已卸载,但仍无法重新安装MySQL,提示错误"Cannot create windows service for mysql.error:0"
- VB6:关于“Only public user defined types defined in public object modules can be used as parameters or return types for public procedures of class modules or as fields of public user defined types.”的编译错误
- FCKeditor关于图片上传出现错误“ 提示没有权限 Type=Image” 以及出现"this connector is disabled Please check the"editor/filemanager/connectors/aspx/conf