Sagar
Sagar

Reputation: 1175

Unresolved external symbol for the mentioned code in description

 #include <iostream>
class t1
{
public:
    ~t1();
    static t1& fun();
private:
     t1()
     { 
     }
};

t1& t1::fun()
{
    return t1();
}

int main()
{
    t1::fun();
    return 0;
}

I am getting unresolved external symbol. please help. the errors are below

Error  2   error LNK2019: unresolved external symbol "public: __thiscall t1::~t1(void)" (??1t1@@QAE@XZ) referenced in function "public: static class t1 & __cdecl t1::fun(void)" (?fun@t1@@SAAAV1@XZ)  D:\LXI\LXIRef\RefDesign_V01.00\Software\Solution\TestWebServer\TestWebServer.obj    TestWebServer
Error   3   error LNK1120: 1 unresolved externals   D:\LXI\LXIRef\RefDesign_V01.00\Software\Solution\Debug\TestWebServer.exe    1   1   TestWebServer

Upvotes: 1

Views: 44

Answers (1)

Swapnil
Swapnil

Reputation: 1568

Give definitions to constructor and destructor.

#include <iostream>
class t1

{

public:

    ~t1() {} // <<<< defined here

    static t1& fun();

private:

    t1() {} // << defined here

};

t1& t1::fun()

{

    return t1();

}

int main()

{

    t1::fun();

    return 0;

}

Upvotes: 1

Related Questions