error C2146: syntax error : missing ';' before identifier 'img'

guojinze 2009-06-06 07:47:54
出现了错误,给位大虾帮忙解决下、、、、

#define GREEN RGB(0,255,0)

#define BLUE RGB(0,0,255)



LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);





int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,

PSTR szCmdLine, int iCmdShow)

{

static TCHAR szAppName[] = TEXT ("HelloWin") ;

HWND hwnd;

MSG msg;

WNDCLASS wndclass ;


wndclass.style= CS_HREDRAW | CS_VREDRAW ;

wndclass.lpfnWndProc = WndProc ;

wndclass.cbClsExtra=0 ;

wndclass.cbWndExtra=0 ;

wndclass.hInstance= hInstance ;

wndclass.hIcon= LoadIcon (NULL, IDI_APPLICATION) ;

wndclass.hCursor= LoadCursor (NULL, IDC_ARROW) ;

wndclass.hbrBackground= (HBRUSH) GetStockObject(WHITE_BRUSH) ;

wndclass.lpszMenuName = NULL ;

wndclass.lpszClassName= szAppName ;


if (!RegisterClass (&wndclass))

{

MessageBox ( NULL, TEXT ("This program requires Windows NT!"),

szAppName, MB_ICONERROR) ;

return 0 ;

}

hwnd = CreateWindow( szAppName, // window class name

TEXT ("水果翻翻看"), // window caption

WS_OVERLAPPEDWINDOW, // window style

CW_USEDEFAULT,// initial x position

CW_USEDEFAULT,// initial y position

CW_USEDEFAULT,// initial x size

CW_USEDEFAULT,// initial y size

NULL, // parent window handle

NULL, // window menu handle

hInstance, // program instance handle

NULL) ; // creation parameters



ShowWindow (hwnd, iCmdShow) ;

UpdateWindow (hwnd) ;



while (GetMessage (&msg, NULL, 0, 0))

{

TranslateMessage (&msg) ;

DispatchMessage (&msg) ;

}

return msg.wParam ;

}


LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)

{

HDC hdc ;

PAINTSTRUCT ps ;

RECT rect ;



switch (message)

{

case WM_CREATE:

PlaySound (TEXT ("hellowin.wav"), NULL, SND_FILENAME | SND_ASYNC) ;


return 0 ;


case WM_PAINT:

hdc = BeginPaint (hwnd, &ps) ;



GetClientRect (hwnd, &rect) ;














DrawText (hdc, NULL , -1, &rect,

DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;

EndPaint (hwnd, &ps) ;

return 0 ;



case WM_DESTROY:

PostQuitMessage (0) ;

return 0 ;

}

return DefWindowProc (hwnd, message, wParam, lParam) ;

}


加载了个类如下、、




#pragma once
#include"atlimage.h"


CImage img;

HRESULT ret = img.Load(filename ); // filename 是要加载的文件名(包含路径)

HBITMAP bitmap = img.Detach();
#endif

f:\c++\microsoft visual c++ 6.0 简体中文企业版\atlimage\atlimage.h(6) : error C2146: syntax error : missing ';' before identifier 'img'
...全文
328 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jsjzww 2009-06-07
  • 打赏
  • 举报
回复
可能是CImage类定义后没加;
mymtom 2009-06-06
  • 打赏
  • 举报
回复
HBITMAP bitmap = img.Detach();
#endif

#ifdef 在那里?
guojinze 2009-06-06
  • 打赏
  • 举报
回复
加了,不是这个问题
Damn_boy 2009-06-06
  • 打赏
  • 举报
回复
img后面没加分号

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧