你好。我正在为我的班级进行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错误,但是提供了大量的信息,我担心由于我在查看MSDN页面时对C ++的经验有限,我无法弄清楚出了什么问题。
但我确实认为问题来自于我构建程序的方式。我的老师说我们也可以使用一个.cpp文件,但我想最终我对Visual Studios / C ++的了解还不够。最后,我遇到了一些我必须解决的问题,这些问题来自于使用一个.cpp文件。
相关代码/文件位于:http://codepad.org/LpBeJT2Y
这是一个很大的混乱,但这就是我所做的:
据我所知(由于我对VS / C ++的了解有限),代码看起来很好。也许有一些有更多经验的人会抓住。有关如何解决这个问题的任何指示?
感谢您的帮助。
答案 0 :(得分:1)
你已经在HasQuarterState中声明了分配但没有定义它。该功能没有身体。与SoldState中的turnCrank一样。
答案 1 :(得分:0)
在类SoldState中,未定义turnCrank。改变这个:
void turnCrank()const;
对此:
void turnCrank()const {cout<< “一些实施”<< ENDL; }
和其他功能类似。