学习严蔚敏的数据结构,使用vc6新建项目,文件名分别如下:
SequenceStack.cpp
SequenceStack.h
Status.h
TestCase.c
报错如下:
xilink6: executing 'D:\PROGRA~2\vc6.0\VC98\Bin\link.exe'
TestCase.obj : error LNK2001: unresolved external symbol _InitStack_Sq
Debug/03_01_SequenceStack.exe : fatal error LNK1120: 1 unresolved externals
代码一切都是正确的。后来发现原因,文件名引起,把TestCase.c改成TestCase.cpp就好了
因为cpp默认使用c++,c使用asni c,猜想应该是c++和c的cdecl(c语言调用约定)导出函数申明方式不一致,例如c++导出函数???@xyz@Init,c却找不到。