当前位置: 首页 > 知识库问答 >
问题:

对已定义的构造函数的未解析引用[重复]

申高峯
2023-03-14

我得到一个未解析的外部符号“public:\u thiscall TestLanguage::TestLanguage(void)”(??0TestLanguage@@QAE@XZ)在功能_main中引用

据我所知,TestLanguage构造函数是被定义的,但是编译器显然看不到它。我唯一的结论是存在某种包含问题(例如,循环包含)。

我已经为下面的每个翻译单元制作了一个包含图,但是我看不出有任何问题。任何指导都将不胜感激。

包括:

Test.cpp
    Expression.h
        Operation.h
        Token.h
    CPU.h
        Operation.h
    TestLanguage.h
        ILanguage.h
        TLOperators.h
            IOperator.h
                Operation.h
                Token.h

TestLanguage.cpp
    TestLanguage.h
        ILanguage.h
        TLOperators.h
            IOperator.h
                Operation.h
                Token.h

TLOperators.cpp
    TLOperators.h
        IOperator.h
            Operation.h
            Token.h
    Expression.h
        Operation.h
        Token.h
    CPU.h
        Operation.h

CPU.cpp
    CPU.h
        Operation.h
    Operation.h

Expression.cpp
    Expression.h
        Operation.h
        Token.h
    Util.h
    IOperator.h
        Operation.h
        Token.h
    CPU.h
        Operation.h
    ILanguage.h

Operation.cpp
    Operation.h

Token.cpp
    Token.h

共有1个答案

葛修永
2023-03-14

在尝试按照@inetknght的建议创建一个MCVE(谢谢你的提醒)之后,我发现它实际上是Visual Studio Express 2013中的一个bug。我将所有的源文件复制到一个新项目中,这样我就可以不断删除一些内容以获得最小的示例,但是在新项目中编译得很好。

希望这将有助于任何其他经历过这种情况的人。

 类似资料:
  • 问题内容: 所以我有一个名为User的Java类,其中包含如下构造函数: 然后他的问题发生在我的另一个名为Admin的类中: 我收到了错误消息,我不知道该如何解决,我对Java真的很陌生。 问题答案: 您必须使用扩展类的构造函数的第一个类调用构造函数,方法是: 如果您还希望Admin也具有自定义构造函数,则必须调用: 所以:

  • 在.citydoor.imports.catalog.tools中打包;

  • 编辑问题,以包括预期行为、特定问题或错误以及重现问题所需的最短代码。这将有助于其他人回答问题。 我有两个类:人群和顾客。我在customer类的crowd类中创建了一个构造函数实例。然而,我得到了一个错误。 这是客户构造函数: 这是crowd类中的构造函数实例:

  • 这个问题是由打字错误或无法再复制的问题引起的。虽然类似的问题可能在这里是主题,但这个问题的解决方式不太可能对未来的读者有所帮助。 Java构造函数不工作。 我需要制作三个构造函数和一个打印方法。然后制作三个对象并打印它们。如果我在标题中写的问题有误,请原谅我。我几乎不知道我的代码是怎么回事。但它就在这里。谁能告诉我它有什么问题以及我如何解决它。 下面是错误:Minor.java:51:错误:没有为

  • 我试图让类circle扩展Shape类,但JUnit不断出错,说构造函数圆(Point,int)未定义,我如何定义圆构造函数与公共圆(Point[]center,int aradius)不同? 圆圈Java语言