This question already has answers here:
What is an undefined reference/unresolved external symbol error and how do I fix it?
                                
                                    (32个答案)
                                
                        
                                5年前关闭。
            
                    
实际上,我一直在搜索错误,发现了很多解决方案,但是它们无法解决我的问题,这也许很简单,但我无法处理...

/* header */
class EmployeeRegister
{
private:
    EmpReg *Emp;
public:
    EmployeeRegister(int,int);
};


/* cpp file*/
EmployeeRegister::EmployeeRegister(int a,int b)
{
    cout << "Result  : " << a+b << endl;
}


/* in main file*/
EmployeeRegister Sub(1,1);


当我这样做或类似的事情时,我得到:

main.obj:-1: error: LNK2001: unresolved external symbol "public:
   __thiscall EmployeeRegister::EmployeeRegister(int,int)"
   (??0EmployeeRegister@@QAE@HH@Z)


实际上,我确定这很容易,但是我想念的是什么?

编辑:它是固定的,链接器找不到我的.cpp文件。

最佳答案

确保在项目中(或在链接器命令行中)列出了非主.cpp文件,以便可以将其与main.cpp正确链接

关于c++ - 重载的构造函数的 Unresolved external symbol 错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24452974/

10-15 22:36