class window : public subclass; // 基本となるプロシージャを含むクラス class proc0 : public subclass; // 差し換えたいプロシージャその0を含むクラス class proc1 : public subclass; // 差し換えたいプロシージャその1を含むクラス
window wnd;
/* Case 1 */ wnd.change(&proc0()); // こうできれば気持ちいいけど一時オブジェクトproc0()のアドレスを渡すのでもちろんエラー
/* Case 2 */ proc proc0; wnd.change(&proc0()); // インスタンスを作ればOK //////////////////////////////////
class A : public A_base{ public: A(){ change( this ); } virtual void aa(){ std::cout << "A" << std::endl; } }; class B : public A_base{ public: B(){ change( this ); } virtual void aa(){ std::cout << "B" << std::endl; } };
extern "C" int _tmain( int argc, TCHAR* argv[] ) { A a; a.change( ( A_base* )&B() ); a.out(); a.change( ( A_base* )&A() ); a.out(); return 0; }
質問です。 HBITMAP CreateDIBSection( HDC hdc, // handle to DC CONST BITMAPINFO *pbmi, // bitmap data UINT iUsage, // data type indicator VOID **ppvBits, // bit values HANDLE hSection, // handle to file mapping object DWORD dwOffset // offset to bitmap bit values );