您的位置:控制工程论坛网论坛 » 嵌入式系统 » (转载)Cvavr 的Invalid indirection 错误原因!

wj321

wj321   |   当前状态:离线

总积分:1211  2025年可用积分:0

注册时间: 2003-05-12

最后登录时间: 2009-11-05

空间 发短消息加为好友

(转载)Cvavr 的Invalid indirection 错误原因!

wj321  发表于 2008/10/7 10:14:21      941 查看 0 回复  [上一主题]  [下一主题]

手机阅读

用VS2008建立一个纯C solution(PureC_扫描仪代码模块测试(qzm).rar)调试好条码扫描仪的搜索代码,加入Cvavr项目中(一个Atmega128项目,其中要接一个条码扫描仪采集条码)然后在Cvavr中编译,出现 "Invalid indirection 错误提示!如下所示:

这是C语言中比较经典的错误提示:大意是:无效的间接运算(在这里指“**”指针的指针)。左边的指针间接运算操作符(*)要求非void 指针作为操作分量。

改回正确的指针的指针的写法即通通编译:(如下图所示红色圈中的改动

NOTE:由于VS2008能智能地识别"**"中第二个“*”的类型,因此编译运行完全OK,但CVAVR是8位的单片机IDE,他要程序员显式地声明指针的指针中第2个指针(红色那个*)的指针类型 *((char*)*xxx),  Cvavr在Link时才能正确地分配空间。

1楼 0 0 回复