一个非常简单的问题 #define
问个简单问题
#defineMETERNEWCOM_SUCCESS_RECORD 0x291; //抄收未抄记录成功
int ReadRecord()
{
int ret = METERNEWCOM_ERROR_NORECORD;
return ret;
}
#defineMETERNEWCOM_SUCCESS_RECORD 0x291;有什么用,
return 返回的是什么啊?是:0X291?
//抄收未抄记录成功 这个只是备注?
[解决办法]
是一个特殊数值,使用时用宏(或者常量)增强可读性~
[解决办法]
返回了METERNEWCOM_ERROR_NORECORD
但是这个宏你的代码里面没有.....
#defineMETERNEWCOM_SUCCESS_RECORD 0x291; 有什么用 这个函数里面没有用
//后面是备注 = =
[解决办法]
返回 0x291
[解决办法]
看来你没接触过c语言
维护代码至少要了解语言的基本语法啊
[解决办法]
#defineMETERNEWCOM_SUCCESS_RECORD 0x291;
——最后的那个分号最好去掉。
[解决办法]
返回宏METERNEWCOM_ERROR_NORECORD的指代部分
你可以查找一下METERNEWCOM_ERROR_NORECORD,看看#define的什么,就知道了。
这些宏是为了方便别人(也包括时间长了自己也忘了)阅读程序时用的。
也方便日后更改数值,比如METERNEWCOM_SUCCESS_RECORD的值由于某些原因要改为0x290
那么只需要把在头部的
#defineMETERNEWCOM_SUCCESS_RECORD 0x291; //抄收未抄记录成功
改为
#defineMETERNEWCOM_SUCCESS_RECORD 0x290; //抄收未抄记录成功
就行了,程序中的其他代码可以保持不变
[解决办法]
对了。。。复制的时候把你文里的;也给复制过来了。。。
#define后便不要加;
因为#define并不对应任何代码。。。只是个伪语句。。。