Ste*_*eve 4 c++ forward-declaration
我无法弄清楚如何转发声明一个Windows结构.定义是
typedef struct _CONTEXT
{
....
} CONTEXT, *PCONTEXT
Run Code Online (Sandbox Code Playgroud)
我真的不想进入这个标题,因为它包含在任何地方.
我试过了
struct CONTEXT
和
struct _CONTEXT
没有运气(在winnt.h中使用actuall结构重新定义基本类型.
extern "C" { typedef struct _CONTEXT CONTEXT, *PCONTEXT; }
Run Code Online (Sandbox Code Playgroud)
你需要声明那_CONTEXT是一个struct.并声明它extern "C"匹配windows.h的外部链接(这是一个C头).
但是,您不需要为a提供定义typedef,但如果这样做,则所有定义必须匹配(One Definition Rule).
编辑:我也忘记了外部的"C".