HANDLE hDevice1;
hDevice1=DAM3000M_CreateDevice(DAM3000M_COM1);BOOL DAM3000M_InitDevice(DAM3000M_CreateDevice(DAM3000M_COM1),DAM3000M_BAUD_9600,TRUE,-1);编译后出错:
error C2040: 'hDevice1' : 'int' differs in levels of indirection from 'HANDLE'
error C2440: 'initializing' : cannot convert from 'HANDLE' to 'int'error C2365: 'DAM3000M_InitDevice' : redefinition; previous definition was 'function'
error C2078: too many initializers
不知道为什么会出这种错,求各个帮忙找下原因啊。DAM3000M_CreateDevice和DAM3000M_InitDevice在头文件中是这样定义的:
HANDLE DEVAPI FAR PASCAL DAM3000M_CreateDevice(LONG lPortNum); // 创建设备对象BOOL DEVAPI FAR PASCAL DAM3000M_InitDevice( // 初始与模块之间的通信参数
HANDLE hDevice, // 设备对象句柄 LONG lBaud, // 波特率
BOOL bCheck = TRUE, // Modbus协议下其值必须为TRUE,即必须有交验
LONG lTimeOut = DAM3000M_DEFAULT_TIMEOUT); // 超时时间,主要用于接收数据,如果为-1 则使用默认超时时间
hDevice1=DAM3000M_CreateDevice(DAM3000M_COM1);BOOL DAM3000M_InitDevice(DAM3000M_CreateDevice(DAM3000M_COM1),DAM3000M_BAUD_9600,TRUE,-1);编译后出错:
error C2040: 'hDevice1' : 'int' differs in levels of indirection from 'HANDLE'
error C2440: 'initializing' : cannot convert from 'HANDLE' to 'int'error C2365: 'DAM3000M_InitDevice' : redefinition; previous definition was 'function'
error C2078: too many initializers
不知道为什么会出这种错,求各个帮忙找下原因啊。DAM3000M_CreateDevice和DAM3000M_InitDevice在头文件中是这样定义的:
HANDLE DEVAPI FAR PASCAL DAM3000M_CreateDevice(LONG lPortNum); // 创建设备对象BOOL DEVAPI FAR PASCAL DAM3000M_InitDevice( // 初始与模块之间的通信参数
HANDLE hDevice, // 设备对象句柄 LONG lBaud, // 波特率
BOOL bCheck = TRUE, // Modbus协议下其值必须为TRUE,即必须有交验
LONG lTimeOut = DAM3000M_DEFAULT_TIMEOUT); // 超时时间,主要用于接收数据,如果为-1 则使用默认超时时间
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货