2016-12-02 8 views
1
#include <iostream> 
class t1 
{ 
public: 
    ~t1(); 
    static t1& fun(); 
private: 
    t1() 
    { 
    } 
}; 

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

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

未解決の外部シンボルが表示されています。助けてください。エラーは以下のとおりです説明に記載されているコードの未解決の外部シンボル

Error 2 error LNK2019: unresolved external symbol "public: __thiscall t1::~t1(void)" ([email protected]@[email protected]) referenced in function "public: static class t1 & __cdecl t1::fun(void)" ([email protected]@@[email protected]) 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
+2

ビルドエラーに関する質問を投稿する場合は、ビルドプロセスの*フル*出力を含めてください。編集しないで完了します。好ましくは、出力をテキストとして質問本体にコピー・ペーストするだけでよい。 –

+2

しかし、あなたの問題についてのヒント: 't1'コンストラクタとデストラクタはどこで実装(定義)していますか? –

+0

申し訳ありませんが、コードを編集し、エラーがあればコンパイルして再投稿します。 – Sagar

答えて

1

コンストラクタとデストラクタに定義を与えます。

#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; 

} 
関連する問題