我用指纹机创建win7日志应用程序,指纹机sdk提供UFScanner.h头文件,当我尝试在我的.cpp代码中使用“UFS_STATUS”时 它给了我这些错误:
错误1错误C4430:缺少类型说明符 - 假定为int。注意:C ++不支持default-int
错误2错误C2086:'int ufs_res':重新定义
#ifndef _UFSCANNER_H_
#define _UFSCANNER_H_
#define __extension__
#ifdef UFS_EXPORTS
#define UFS_API __declspec(dllexport) __stdcall
#else
#define UFS_API __stdcall
#endif
#define UFS_CALLBACK __stdcall
#ifdef __cplusplus
extern "C" {
#endif
// Status Definition
#define UFS_STATUS int
// Status Return Values
#define UFS_OK 0
#define UFS_ERROR -1
#define UFS_ERR_NO_LICENSE -101
#define UFS_ERR_LICENSE_NOT_MATCH -102
#define UFS_ERR_LICENSE_EXPIRED -103
#define UFS_ERR_NOT_SUPPORTED -111
#define UFS_ERR_INVALID_PARAMETERS -112
...
和.cpp代码:
#include
#include
#ifndef WIN32_NO_STATUS
#include
#define WIN32_NO_STATUS
#endif
#include
#include "CSampleCredential.h"
#include "guid.h"
#include "windows.h"
#include "UFScanner.h"
#define __extension__
#define TEMPLATE_SIZE 384
UFS_STATUS ufs_res;
int nScannerNumber;
ufs_res = UFS_Init(); //ufs_res gives error : this declaration has no storage class or type specifier
...
答案 0 :(得分:1)
你不能在函数之外放置一个简单的赋值语句:
ufs_res = UFS_Init();
您需要将其与ufs_res
的定义结合使用,如下所示:
UFS_STATUS ufs_res = UFS_Init();