gpt4 book ai didi

c++ - 链接器错误 - 未解析的外部符号

转载 作者:太空宇宙 更新时间:2023-11-04 12:26:22 24 4
gpt4 key购买 nike

你好。我正在为我的类(class)做 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

这是一团糟,但这是我所做的:

  • 声明一个名为 GumballMachine 的类(无定义)
  • 定义一个名为 State 的类(它有一个指向 GumballMachine 的指针)
  • 定义了其他几个继承自 State 的状态类
  • 定义类 GumballMachine
  • 定义了几个从其他状态类的原始定义中排除的函数。这是因为这些函数依赖于 GumbballMachine 的定义函数,并且在定义 GumballMachine 函数之前不会工作。
  • 无效主()

据我所知(我对 VS/C++ 的了解有限),代码看起来不错。也许有更多经验的人会捕获一些东西。关于如何解决这个问题的任何指示?

感谢您的帮助。

最佳答案

您已经在 HasQuarterState 中声明了 dispense 但还没有定义它。该函数没有主体。 SoldState 中的 turnCrank 也是如此。

关于c++ - 链接器错误 - 未解析的外部符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2278291/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com