2017-05-03 25 views
0

これは私が試してみて、私の問題を解決し、すべての答えを言うために多くのことを検索した未解決の外部シンボル「保護された静的な構造体」エラーが

#pragma once 
#include <queue> 
#include <Windows.h> 

class EventHandler 
{ 
public: 

    EventHandler() 
    { 
    } 

    ~EventHandler() 
    { 
    } 

    static std::queue<MSG*> Events; 
}; 

私eventhandler.hです、C++ファイルで静的変数を宣言するために、私は

#include "EventHandler.h" 
    std::queue<MSG*> EventHandler::Events; 

をやったが、私はまだ

Error LNK2001 unresolved external symbol "protected: static struct tagMSG * Entity::msg" ([email protected]@@[email protected]@A) 

を取得していますなぜ私は理解できません。私は何かを逃したか?

+1

エラーが言う 'エンティティ:: msg'が定義されていない、いない'のEventHandler :: Events'。 'Entity'とそれに関連するcppの定義を提供できますか? – lcs

+0

それは問題だった、私は別のクラスの静的変数を持っていたことを忘れてしまった。それを指摘していただきありがとうございます。それはあなたがより完全にエラーメッセージを読む場合に役立ちます – StickyDuck

+0

それが解決されて以来、「もう再生できません」と投票しました –

答えて

0

あなたのcppファイルに静的に配置する必要があります。

// EventHandler.cpp 
std::queue<MSG*> EventHandler::Events; 
関連する問題