2017-05-03 47 views
0

这是我eventhandler.h解析的外部符号“受保护的静态结构”错误

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

class EventHandler 
{ 
public: 

    EventHandler() 
    { 
    } 

    ~EventHandler() 
    { 
    } 

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

我已经搜查了很多尝试和解决我的问题,所有的答案说声明在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'没有定义,而不是'事件处理程序:: Events'。你能提供“实体”及其相关cpp的定义吗? – lcs

+0

这就是问题所在,我忘记了我在另一个类中有一个静态变量。谢谢你指出。如果您更详细地阅读错误消息 – StickyDuck

+0

投票结束为“无法再现”,因为它已解决 –

回答

0

需要把你静态的CPP文件:

// EventHandler.cpp 
std::queue<MSG*> EventHandler::Events; 
相关问题