问一个labwindows/cvi的问题,求大神关注啊。。。。
labwindows/cvi工程包含的一个头文件中有一结构体的程序如下:typedefstruct_USB_BOS_DESCRIPTOR{UCHARbLength;UCH...
labwindows/cvi工程包含的一个头文件中有一结构体的程序如下:
typedef struct _USB_BOS_DESCRIPTOR
{
UCHAR bLength ;
UCHAR bDescriptorType ;
USHORT wTotalLength;
UCHAR bNumDeviceCaps;
}USB_BOS_DESCRIPTOR,*PUSB_BOS_DESCRIPTOR;
调试时就会出现以下错误:
"CyUSB30_def.h"(30,5) Invalid struct field declarations.
"CyUSB30_def.h"(30,5) syntax error; found 'identifier' expecting '}'.
"CyUSB30_def.h"(30,19) Warning: Empty declaration.
"CyUSB30_def.h"(31,11) syntax error; found 'identifier' expecting ';'.
"CyUSB30_def.h"(32,12) syntax error; found 'identifier' expecting ';'.
"CyUSB30_def.h"(33,11) syntax error; found 'identifier' expecting ';'.
"CyUSB30_def.h"(34,1) Unrecognized declaration.
这是什么错误呢,难道是在labwindows/cvi中不能用C语言的结构体,还是数据类型不匹配啊??迷茫迷茫,求大神帮助啊!!
在线等~~ 展开
typedef struct _USB_BOS_DESCRIPTOR
{
UCHAR bLength ;
UCHAR bDescriptorType ;
USHORT wTotalLength;
UCHAR bNumDeviceCaps;
}USB_BOS_DESCRIPTOR,*PUSB_BOS_DESCRIPTOR;
调试时就会出现以下错误:
"CyUSB30_def.h"(30,5) Invalid struct field declarations.
"CyUSB30_def.h"(30,5) syntax error; found 'identifier' expecting '}'.
"CyUSB30_def.h"(30,19) Warning: Empty declaration.
"CyUSB30_def.h"(31,11) syntax error; found 'identifier' expecting ';'.
"CyUSB30_def.h"(32,12) syntax error; found 'identifier' expecting ';'.
"CyUSB30_def.h"(33,11) syntax error; found 'identifier' expecting ';'.
"CyUSB30_def.h"(34,1) Unrecognized declaration.
这是什么错误呢,难道是在labwindows/cvi中不能用C语言的结构体,还是数据类型不匹配啊??迷茫迷茫,求大神帮助啊!!
在线等~~ 展开
2个回答
展开全部
CVI肯定可以用结构体,它是面向C语言的,
typedef struct _USB_BOS_DESCRIPTOR
{
UCHAR bLength ;
UCHAR bDescriptorType ;
USHORT wTotalLength;
UCHAR bNumDeviceCaps;
}*PUSB_BOS_DESCRIPTOR;
这样定义试一下
或者
typedef struct
{
UCHAR bLength ;
UCHAR bDescriptorType ;
USHORT wTotalLength;
UCHAR bNumDeviceCaps;
}*PUSB_BOS_DESCRIPTOR;
这样肯定没得错
typedef struct _USB_BOS_DESCRIPTOR
{
UCHAR bLength ;
UCHAR bDescriptorType ;
USHORT wTotalLength;
UCHAR bNumDeviceCaps;
}*PUSB_BOS_DESCRIPTOR;
这样定义试一下
或者
typedef struct
{
UCHAR bLength ;
UCHAR bDescriptorType ;
USHORT wTotalLength;
UCHAR bNumDeviceCaps;
}*PUSB_BOS_DESCRIPTOR;
这样肯定没得错
更多追问追答
追问
谢谢你啊,我发现好像不是结构体的问题。。。是在CVI中不识别UCHAR,USHORT,bool等这些数据类型,是不是缺少什么头文件??还想再问个,就是CVI中可以用C++的类吗??
追答
CVI肯定不能识别UCHAR,USHORT这样的数据类型,UCHAR,USHORT这两个的意思是无符号字符型、无符号短整型,由于unsigned char这样写比较长,为了简便,人们一般都宏定义 typedef unsigned char UCHAR, typedef unsigned short USHORT,懂了吗??
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询