學習嚴蔚敏的數據結構,使用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卻找不到。