收到“错误LNK2019:无法解析的外部符号...”

乔纳坦·斯坦巴卡(Jonatan Stenbacka)

我正在尝试开始使用C ++,但我一直收到此错误。我知道我的代码的哪些部分正在生成它,但是我认为这些部分中至少有一部分不应该生成它们。

我正在创建一个称为类的类,该类Text的工作方式与std::string该类相似,只是为了实验并更好地理解值语义。

无论如何,这些是我的文件:

Text.h:

#ifndef TEXT
#define TEXT

class Text {
   public:
      Text(const char *str);
      Text(const Text& other);
      void operator=(const Text& other);
      ~Text();

   private:
      int size;
      char* cptr;           
};

#endif

Text.cpp:

#include "Text.h"
#include <cstring>
#include <iostream>
using namespace std;

Text::Text(const char* str) {
    size = strlen(str) + 1;
    cptr = new char[size];
    strcpy(cptr, str);
}

Text::Text(const Text& other) {
    size = other.size;
    cptr = new char[size];
    strcpy(cptr, str);
}

void Text::operator=(const Text& other){
    delete [] cptr;
    size = other.size;
    cptr = new char[size];
    strcpy(cptr, other.ctpr);
}

Text::~Text() {
    delete [] cptr;
}

Main.cpp:

#include <iostream>
#include "Text.h"
using namespace std;

Text funk(Text t) {
    // ...
    return t;
}

int main() {
    Text name("Mark");
    Text name2("Knopfler");
    name = funk(name);

    name = name2;

    return 0;
}

因此,导致错误的是函数funk,以及函数的前两行main我明白了为什么它在主函数的前两行抱怨,因为没有名为“ name”或“ name2”的函数。但是我想做的是在一行中声明和初始化一个对象(我是Java老家伙:p),在C ++中这是否可能?我在网上找不到任何东西表明这一点。

有趣的是,此代码或多或少是从我的讲师在演讲期间执行的某些代码中复制而来的。而且他当然也没有声明任何名为“ name”和“ name2”的函数。有什么合理的解释吗?

但是为什么函数funk也会产生此错误?我要做的就是返回我要发送的对象的副本。

提前致谢!

编辑:这是完整的错误消息。有五个。“ SecondApplication”是我的项目的名称。

错误1错误LNK2019:未解析的外部符号“公共:__thiscall Text :: Text(char const *)”(?? 0Text @@ QAE @ PBD @ Z)在函数_main C:\ Users \ XXX \ Documents \ Visual Studio 2013中引用\ Projects \ SecondApplication \ SecondApplication.obj SecondApplication


错误2错误LNK2019:未解析的外部符号“ public:__thiscall Text :: Text(class Text const&)”(?? 0Text @@ QAE @ ABV0 @@ Z)在函数“ class Text __cdecl funk(class Text)”中引用( ?funk @@ YA?AVText @@ V1 @@ Z)C:\ Users \ XXX \ Documents \ Visual Studio 2013 \ Projects \ SecondApplication \ SecondApplication.obj SecondApplication


错误3错误LNK2019:未解析的外部符号“ public:void __thiscall Text :: operator =(class Text const&)”(?? 4Text @@ QAEXABV0 @@ Z)在函数_main C:\ Users \ XXX \ Documents \ Visual中引用Studio 2013 \ Projects \ SecondApplication \ SecondApplication.obj SecondApplication


错误4错误LNK2019:未解析的外部符号“公共:__thiscall Text ::〜Text(void)”(?? 1Text @@ QAE @ XZ)在函数“类Text __cdecl funk(类Text)”中引用(?funk @@ YA) AVText @@ V1 @@ Z)C:\ Users \ XXX \ Documents \ Visual Studio 2013 \ Projects \ SecondApplication \ SecondApplication.obj SecondApplication


错误5错误LNK1120:4个未解析的外部C:\ Users \ XXX \ Documents \ Visual Studio 2013 \ Projects \ SecondApplication \ Debug \ SecondApplication.exe 1 1 SecondApplication

莫尔布德尼洛

例如,如果忘记将“ Text.cpp”添加到项目中,则不会得到编译和链接,则将看到链接错误(不是编译错误)。

代码中有两个错误-一个在复制构造函数中,一个在赋值运算符中。

由于编译器没有抱怨这两个错误,因此我怀疑您忘记了将文件添加到项目中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

如何解决错误LNK2019:无法解析的外部符号-功能?

来自分类Dev

错误LNK2019:函数main中引用了无法解析的外部符号

来自分类Dev

如何解决错误LNK2019:无法解析的外部符号-函数?

来自分类Dev

错误21错误LNK2019:无法解析的外部符号:....在函数:...中引用。

来自分类Dev

错误LNK2019:函数___tmainCRTStartup中引用了无法解析的外部符号_wWinMain @ 16

来自分类Dev

Google测试:错误LNK2019:Visual Studio 2013无法解析的外部符号

来自分类Dev

C ++错误错误LNK2019:无法解析的外部符号,语法错误?

来自分类Dev

错误LNK2019:无法解析的外部符号libcurl Visual Studio

来自分类Dev

C ++ LNK2019无法解析的外部符号

来自分类Dev

LNK2019错误(无法解析的外部符号)将SQLite链接到DLL

来自分类Dev

C ++ LNK2019无法解析的外部符号stdlib

来自分类Dev

错误3错误LNK2019:无法解析的外部符号“ public:void __thiscall

来自分类Dev

C ++ LNK2019错误:无法解析的外部符号

来自分类Dev

LNK2019:C ++ / CLI中无法解析的外部符号

来自分类Dev

Visual Studio的LNK2019错误-无法解析的外部符号

来自分类Dev

错误:LNK2019:Qt中无法解析的外部符号

来自分类Dev

错误LNK2019:无法解析的外部符号“ public:

来自分类Dev

错误LNK2019:函数main中引用了无法解析的外部符号

来自分类Dev

问题:“错误LNK2019:无法解析的外部符号”

来自分类Dev

错误LNK2019无法解析的外部符号-类库问题?

来自分类Dev

错误LNK2019:无法解析的外部符号“ public:void__thiscall Start :: showMenu(void)”

来自分类Dev

错误LNK2019:无法解析的外部符号:: FindWindow()函数

来自分类Dev

是什么导致此LNK2019无法解析的外部符号错误?

来自分类Dev

如何修复LNK2019无法解析的外部符号

来自分类Dev

错误LNK2019:无法解析的外部符号_打开CV程序

来自分类Dev

错误LNK2019:将代码放入cpp文件时出现无法解析的外部符号

来自分类Dev

错误LNK2019:使用SendInput()时出现无法解析的外部符号

来自分类Dev

错误LNK2019:无法解析的外部符号“ public:__thiscall

来自分类Dev

错误LNK2019:无法解析的外部符号-功能模板的msvc调试版本

Related 相关文章

  1. 1

    如何解决错误LNK2019:无法解析的外部符号-功能?

  2. 2

    错误LNK2019:函数main中引用了无法解析的外部符号

  3. 3

    如何解决错误LNK2019:无法解析的外部符号-函数?

  4. 4

    错误21错误LNK2019:无法解析的外部符号:....在函数:...中引用。

  5. 5

    错误LNK2019:函数___tmainCRTStartup中引用了无法解析的外部符号_wWinMain @ 16

  6. 6

    Google测试:错误LNK2019:Visual Studio 2013无法解析的外部符号

  7. 7

    C ++错误错误LNK2019:无法解析的外部符号,语法错误?

  8. 8

    错误LNK2019:无法解析的外部符号libcurl Visual Studio

  9. 9

    C ++ LNK2019无法解析的外部符号

  10. 10

    LNK2019错误(无法解析的外部符号)将SQLite链接到DLL

  11. 11

    C ++ LNK2019无法解析的外部符号stdlib

  12. 12

    错误3错误LNK2019:无法解析的外部符号“ public:void __thiscall

  13. 13

    C ++ LNK2019错误:无法解析的外部符号

  14. 14

    LNK2019:C ++ / CLI中无法解析的外部符号

  15. 15

    Visual Studio的LNK2019错误-无法解析的外部符号

  16. 16

    错误:LNK2019:Qt中无法解析的外部符号

  17. 17

    错误LNK2019:无法解析的外部符号“ public:

  18. 18

    错误LNK2019:函数main中引用了无法解析的外部符号

  19. 19

    问题:“错误LNK2019:无法解析的外部符号”

  20. 20

    错误LNK2019无法解析的外部符号-类库问题?

  21. 21

    错误LNK2019:无法解析的外部符号“ public:void__thiscall Start :: showMenu(void)”

  22. 22

    错误LNK2019:无法解析的外部符号:: FindWindow()函数

  23. 23

    是什么导致此LNK2019无法解析的外部符号错误?

  24. 24

    如何修复LNK2019无法解析的外部符号

  25. 25

    错误LNK2019:无法解析的外部符号_打开CV程序

  26. 26

    错误LNK2019:将代码放入cpp文件时出现无法解析的外部符号

  27. 27

    错误LNK2019:使用SendInput()时出现无法解析的外部符号

  28. 28

    错误LNK2019:无法解析的外部符号“ public:__thiscall

  29. 29

    错误LNK2019:无法解析的外部符号-功能模板的msvc调试版本

热门标签

归档