调用类对象的构造函数时出现LNK2019错误

时间:2015-03-01 16:45:09

标签: c++

我一直收到LNK2019链接器错误,但无法弄清楚如何修复它。

1>LNK2019.obj : error LNK2019: unresolved external symbol "public: __thiscall myClass::myClass(void)" (??0myClass@@QAE@XZ) referenced in function _wmain
1>LNK2019.obj : error LNK2019: unresolved external symbol "public: void __thiscall myClass::doSomething(void)" (?doSomething@myClass@@QAEXXZ) referenced in function _wmain

LNK2019.cpp:

当我将myClass a1更改为myCalss a1()时,不会发生错误,但是当我这样做时,我无法调用a1.doSomething(),因为它希望表达式具有类类型?

#include "stdafx.h"
#include "myClass.h"
int _tmain(int argc, _TCHAR* argv[])
{
    myClass a1;
    a1.doSomething();
    return 0;
}

myClass.h

#pragma once
#include "example.h"
class myClass
{
    example memberExample;
public:
    myClass();
    void doSomething();
};

myClass.cpp

#include "myClass.h"
myClass::myClass() : memberExample(23, 67)
{
    // Do stuff
}

void myClass::doSomething()
{
    // Do stuff
}

example.h文件

#pragma once
class example
{
    int a, b;
public:
    example(int, int);
};

example.cpp

#include "example.h"
example::example(int x, int y)
{
    a = x;
    b = y;
}

我无法对example.h或example.cpp进行更改,myClass的成员函数需要能够看到memberExample。

此外,它似乎只能在单个.cpp文件中工作,从我能说的#include是好的吗?

(对不起,如果这个问题很常见,我试过谷歌但不知道要搜索什么)

0 个答案:

没有答案