#include"symapi.h"
int SymInit (char * db_filename,
SYMINIT_ACCMODE_T access_mode,
int * p_handle,
SYMAPI_CONNECTION_BLK_T * cblk,
char * vendor_id)
{
return 0;
}
g ++ -o symapi.o -c sym.cpp
sym.cpp:4:错误:数字常量之前的预期标识符
sym.cpp:4:错误:在数字常量
之前预期','或'...'当我编译这段小代码时,我得到了上述错误。我不知道如何继续。我已经从头部复制了函数原型,并试图定义它。我的头文件非常大。所以上传到谷歌驱动器:https://docs.google.com/file/d/0B8NCZDm0ClHVWFM3Qm5wU0MwUE0/edit?usp=sharing 请帮忙
答案 0 :(得分:2)
g++ -E test.cpp
显示以下内容。 -E
因预处理而停止。
# 2 "test.cpp" 2
int SymInitV(char * db_filename, SYMINIT_ACCMODE_T access_mode, int * p_handle, SYMAPI_CONNECTION_BLK_T * cblk, char * vendor_id, 0x07000393)
{
return 0;
}
参见最后一个参数是一个简单的数字,没有与之关联的数据类型。
SysInit是symapi.h中定义的宏,用以下宏替换
#define SymInit(f, a, h, cb, vid) SymInitV(f, a, h, cb, vid, SYMAPI_C_VERSION)
而是尝试实现SymInitV函数,该函数采用以下声明
int SymInitV(char * db_filename, SYMINIT_ACCMODE_T access_mode, int * p_handle, SYMAPI_CONNECTION_BLK_T * cblk, char * vendor_id, int version)