【发布时间】:2015-02-08 10:41:54
【问题描述】:
我已尝试多次并从几乎相同的视频中复制此代码,目前有些不同,因为我一直在胡闹而没有出现新的错误,但我一直在尝试自己解决这个问题断断续续的几天。无论如何,它的 c2447 缺少 { (旧式格式?)在谷歌搜索后似乎很容易解决,但我被卡住并感到沮丧。它也应该是一个win32窗口
#include <windows.h>
LRESULT CALLBACK
MainWindowCallback(HWND Window
UINT Message,
WPARAM WParam,
LPARAM LParam);
{
LRESULT Result = 0;
switch(Message)
{
case WM_SIZE:
{
OutputDebugStringA("WM_SIZE\n")
} break;
case WM_DESTROY:
{
OutputDebugStringA("WM_DESTROY\n")
} break;
case WM_ClOSE:
{
OutputDebugStringA("WM_CLOSE\n")
} break;
case WM_ACTIVATEAPP:
{
OutputDebugStringA("WM_ACTIVATEAPP\n")
} break;
default:
{
Result = ;
} break;
}
return(Result);
}
int CALLBACK
WinMain(HINSTANCE Instance,
HINSTANCE PrevInstance,
LPSTR CommandLine,
int ShowCode)
{
WNDCLASS WindowClass = {};
WindowClass.style = CS_OWNDC|CS_HREDRAW|CS_VREDRAW;
WindowClass.lpfnWndProc = MainWindowCallback;
WindowClass.hInstance = Instance ;
// WindowClass.hIcon;
WindowClass.lpszClassName = "RavelWindowClass";
if(RegisterClass(&WindowClass));
{
HWND WindowHandle =
CreateWindowEx(0,
WindowClass.lpszClassName,
"Ravel",
WS_OVERLAPPEDWINDOW|WS_VISIBLE,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
0,
0,
Instance,
0);
if(WindowHandle)
{
for(;;)
{
MSG Message;
BOOL MessageResult = GetMessage(&Message, 0, 0, 0);
if(MessageResult > 0)
{
TranslateMessage(&Message);
DispatchMessage(&Message);
}
else
{
break;
}
}
}
}
return(0);
}
ps 在我的作者中并不像我在网站上遇到的问题那样马虎。 谢谢
【问题讨论】:
-
HWND Window后面的逗号太少。 -
这是什么
Result = ; -
逗号实际上在我的代码中,这很奇怪。我填写了结果,我仍然得到 C2447。
-
@StevenGosse 你能给我们至少完整的错误信息吗?我的编译器没有像 C2447 这样的错误。是吗?
-
原因是你这里有一个尾随
;:LPARAM LParam);,试着去掉它,看看它是否有效。
标签: c++ compiler-errors