2017-04-17 10 views
-1

メインクラスのシングルトンによって呼び出されたネストされたクラスの関数を使用しているときはいつでもLNKエラーが発生します... MSDNで検索したものの、このlnkerrorの修正に関する私の問題に。ネストされたクラスを使用したときのLNKエラー

//MainClass.hpp 
class MainClass 
{ 
public: 
    static MainClass& get(); //singleton 
private: 
    MainClass(); 
public: 
    class NestedClass 
    { 
    public: 
     NestedClass(); 
    public: 
     __forceinline void some_function(); 
    }; 
public: 
    std::vector<NestedClass> get_nested_array(); 
private: 
    std::vector<NestedClass> array_of_nested; //gets filled in MainClass ctor 
}; 

//SomeClass.cpp 
SomeClass::SomeClass() 
{ 
    auto nesteds = MainClass::get().get_nested_array(); 
    for(auto& n : nesteds) { 
     n.some_function(); //throws LNKError 2019 in MSVC 
    } 
} 
+1

質問を編集して、正確なエラーメッセージを含めてください。 – aschepler

+0

ある時点で、 'void MainClass :: NestedClass :: some_function(); 'の実装が必要です – chtz

+0

実装はMainClass.cppで与えられます。 –

答えて

-2

うん...これをスクラッチします。私の問題は、私のsome_functionメソッドで__forceinlineを使って私と関連していたので、質問に入れて忘れました...私はお詫びします。

関連する問題