C++ 错误C2027:使用未定义的类型信息
在VisualStudioC++中生成时,我得到这个错误:C++ 错误C2027:使用未定义的类型信息,c++,visual-studio-2010,undefined,hwnd,C++,Visual Studio 2010,Undefined,Hwnd,在VisualStudioC++中生成时,我得到这个错误: error C2027: use of undefined type 'rectAnalyzer::GUITHREADINFO' rectAnalyzer的功能如下所示: DWORD WINAPI rectAnalyzer(LPVOID param) { MSG msg; PARAM_PASSED *p = (PARAM_PASSED*) param; std::ostringstream ss; std::wstring str;
error C2027: use of undefined type 'rectAnalyzer::GUITHREADINFO'
rectAnalyzer的功能如下所示:
DWORD WINAPI rectAnalyzer(LPVOID param)
{
MSG msg;
PARAM_PASSED *p = (PARAM_PASSED*) param;
std::ostringstream ss;
std::wstring str;
PGUITHREADINFO g = (PGUITHREADINFO) malloc(sizeof(struct GUITHREADINFO));
if(p)
{
ss << "rectAnalyzer: entering thread " << p->index << "->" << p->parentThreadId << std::endl;
str = string2wideString(ss.str().c_str());
OutputDebugString(str.c_str());
PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE);
if(WaitForSingleObject(hStartEvent,INFINITE) != WAIT_OBJECT_0)
return 1;
ss << "rectAnalyzer: thread " << p->index << " sending WM_APP" << std::endl;
str = string2wideString(ss.str().c_str());
OutputDebugString(str.c_str());
if(!GetGUIThreadInfo(p->parentThreadId, g))
{
ss << "rectAnalyzer: unable to get GUI thread info" << std::endl;
str = string2wideString(ss.str().c_str());
OutputDebugString(str.c_str());
}
while(!PostMessage(g->hwndActive, WM_APP, (WPARAM) 0, (LPARAM) 0))
{
ss << "rectAnalyzer: thread " << p->index << " unable to send WM_APP" << std::endl;
str = string2wideString(ss.str().c_str());
OutputDebugString(str.c_str());
Sleep(1);
}
free(p);
}
else
{
ss << "rectAnalyzer: cannot get p" << std::endl;
str = string2wideString(ss.str().c_str());
OutputDebugString(str.c_str());
}
return 0;
}
DWORD WINAPI rectAnalyzer(LPVOID参数)
{
味精;
参数通过*p=(参数通过*)参数;
std::ostringstream ss;
std::wstring-str;
PGUITHREADINFO g=(PGUITHREADINFO)malloc(sizeof(struct GUITHREADINFO));
如果(p)
{
ss尝试使用sizeof(GUITHREADINFO)
而不是sizeof(struct GUITHREADINFO)
struct S
(注意使用关键字struct
)编写在函数中f
是一个新类型的本地声明f::S
,它在该函数中隐藏全局类型S
内f
本应是此类型的定义,但由于缺少该定义,编译器返回了与sizeof
一致的错误(但您仍然需要全局定义函数的大小)。现在我看到了定义,很容易理解:)thx