Jim*_*ell 0 c++ compiler-errors visual-studio-2008
我有以下代码,当我尝试构建应用程序时生成错误:
#define LPAFDU LPBYTE;
typedef struct appAfDataIndIeee_tag
{
integrPktHead_t head;
BYTE flags;
WORD dstShort;
BYTE dstEndpoint;
BYTE srcShort;
BYTE srcIeee[8];
WORD clusterId;
BYTE afduLength;
LPAFDU afdu; // <-- error
} appAfDataIndIeee_t;
Run Code Online (Sandbox Code Playgroud)
这是它产生的错误:
错误C2208:'BYTE*':没有使用此类型定义的成员
错误C4430:缺少类型说明符 - 假定为int.注意:C++不支持default-int
如果我转出LPADFU了LPBYTE它编译成功.我更喜欢使用的定义或类型定义LPADFU.有谁知道我怎么能做这个工作?谢谢.
摆脱你的结尾处的分号#define(它是宏的一部分):
#define LPAFDU LPBYTE
Run Code Online (Sandbox Code Playgroud)
然而,更好的方法是使用typedef而不是#define:
typedef LPBYTE LPAFDU;
Run Code Online (Sandbox Code Playgroud)
typedef最重要的优点是它们遵守范围规则.
| 归档时间: |
|
| 查看次数: |
270 次 |
| 最近记录: |