你好。我正在为类里面的C++作业。我差不多完成了,但是似乎无法找出这些错误:
error LNK2001: unresolved external symbol "public: virtual void __thiscall HasQuarterState::dispense(void)const " (?dispense@HasQuarterState@@UBEXXZ) gumball.obj Gumball
error LNK2001: unresolved external symbol "public: virtual void __thiscall SoldState::turnCrank(void)const " (?turnCrank@SoldState@@UBEXXZ) gumball.obj Gumball
fatal error LNK1120: 2 unresolved externals C:\School Work\CS 492\Gumball\Debug\Gumball.exe Gumball
我去MSDN并查找LNK2001错误,但是获得了大量信息,并且由于我在CSDN方面的经验有限,因此我无法查看MSDN页面,因此我无法找出问题所在。
但是我确实相信问题出在我程序结构的方式上。我的老师说,如果需要的话,我们可能会使用一个.cpp文件,但是我想最后我对Visual Studios / C++的了解还不足以使这项工作有效。最终,我遇到了其他一些需要解决的问题,这些问题来自使用一个.cpp文件。
有问题的代码/文件在这里:http://codepad.org/LpBeJT2Y
这是一个很大的麻烦,但这就是我所做的:
据我所知(凭我有限的VS / C++知识),代码看起来不错。也许有些经验丰富的人会捕获。关于如何解决这个问题的任何指示?
谢谢您的帮助。
最佳答案
您已在HasQuarterState中声明了Dispense,但 undefined 它。该功能没有主体。同样在SoldState中使用turnCrank。