-1

我正在使用指纹机创建win7日志记录应用程序,指纹机sdk提供了UFScanner.h头文件,当我尝试在我的.cpp代码中使用“UFS_STATUS”时,它给了我这些错误:

错误 1 ​​错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数

错误 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

...
4

1 回答 1

1

您不能将简单的赋值语句放在函数之外:

ufs_res = UFS_Init(); 

您需要将它与这样的定义结合起来ufs_res

UFS_STATUS ufs_res = UFS_Init();
于 2013-05-10T09:30:15.820 回答