我一直收到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是好的吗?
(对不起,如果这个问题很常见,我试过谷歌但不知道要搜索什么)