|
유지상 님이 쓰신 글 :
: 프로그램 내에서
:
: TBitmap* bmp;
:
: 라는 코드를 삽입했더니,
:
: 컴파일시,
:
: Ambiguity between 'TBitmap' and 'Windows::TBitmap'
:
: 라는 에러메시지가 나옵니다.
:
: 이 때는,어떻게 해야 TBitmap을 쓸 수 있지요?
두 타입의 namespace가 다르기 때문에, namespace를 지정해야 합니다.
일반적으로 TBitmap이라 하면,
VCL의 <graphics.hpp> (자동으로 인클루드됩니다.)
Graphics::TBitmap 클래스가 있고요,
<windows.hpp>
Windows::TBitmap 구조체가 있습니다.
Graphics::TBitmap 클래스는
TGraphic 클래스의 자손으로 VCL에서 비트맵을 다룰때 쓰는 객체이고요.
Windows::TBitmap은
<windows.h>에서 정의된
typedef struct tagBITMAP { // bm
LONG bmType;
LONG bmWidth;
LONG bmHeight;
LONG bmWidthBytes;
WORD bmPlanes;
WORD bmBitsPixel;
LPVOID bmBits;
} BITMAP;
tagBITMAP 구조체를 다음과 같이
typedef tagBITMAP TBitmap;
다시 정의한 단순한 구조체입니다.
WIN32 API를 사용할 때 필요한 것이죠.
|