【问题标题】:Link errors with own class functions将错误与自己的类函数联系起来
【发布时间】:2013-03-03 02:05:09
【问题描述】:

我在任何地方都找不到任何解决方案,这可能是一个对我隐藏的小错误。

我创建了几个类,并希望在我的主类中使用它们。一切都编译得很好,但是当我去构建我的项目时,在处理我的类正在进行的函数调用时出现链接错误

Error 11 error LNK2019: unresolved external symbol 
  "public: char __thiscall utility::UtilityClass::convertKeycode(int)" 
   (?convertKeycode@UtilityClass@utility@@QAEDH@Z) referenced in function
   _main C:\Users\Sonny\Documents\Visual Studio 2012\Projects\GaugePanel\GaugePanel\PointTest.obj GaugePanel

基本上我创建了我创建的类的一个对象并调用一个函数。我的程序给了我链接错误。

我已确保包含所有包含头文件以及我能想到的所有其他内容,但我仍然收到这些错误。请帮忙

桑尼。

UtilityClass setUpClass = UtilityClass();
displayM = setUpClass.setUpAllegroDisplay();
plugInId1 = setUpClass.setUpUAVConnection();

【问题讨论】:

  • 嗯,你确定utility::UtilityClass::convertKeycode(int)了吗?
  • 我已经包含了命名空间和头文件。
  • 但是你定义了那个函数吗?不只是声明它,而是定义它? (即您是否为该函数编写了主体?)
  • 在我的 UtilityClass.cpp 文件中,我已经编写了函数体 yes
  • 请出示。 (更新问题;不要在评论中链接它。)

标签: c++ function hyperlink linker linker-errors


【解决方案1】:

我想通了。

这是因为在我的类中,当我定义函数签名时,我没有将类名包含在范围运算符中(我认为这就是它的名称)

所以代替:

long setUpUAVConnection(){}

它必须是这样的:

long UtilityClass::setUpUAVConnection(){}

感谢大家的帮助。

【讨论】:

  • :: 确切地说是范围 resolution 运算符。
猜你喜欢
  • 1970-01-01
  • 2023-04-06
  • 2012-07-13
  • 2011-07-27
  • 1970-01-01
  • 2019-12-19
  • 1970-01-01
  • 1970-01-01
  • 2019-06-20
相关资源
最近更新 更多