pobject を class_name オブジェクトへのポインターにキャストします。
STATIC_DOWNCAST(class_name, pobject )
パラメーター
class_name
キャストするクラスの名前。pobject
class_name オブジェクトへのポインターにキャストするポインター。
解説
pobject には NULL 値を指定するか、直接または間接的に class_name から派生するクラスのオブジェクトへのポインターを指定する必要があります。 _DEBUG プリプロセッサ シンボルを定義しているアプリケーションのビルドでは、pobject が NULL でない場合や、パラメーター class_name で指定されたクラスとは異なる種類のオブジェクトを指している場合に、マクロが ASSERT を発生します (「CObject::IsKindOf」を参照)。 _DEBUG ビルドでない場合は、マクロは型をチェックせずにキャストします。
指定されたクラス、class_nameからパラメーターを派生する必要がありますCObjectと使用する必要があります、DECLARE_DYNAMICとIMPLEMENT_DYNAMIC、DECLARE_DYNCREATEとIMPLEMENT_DYNCREATE、またはDECLARE_SERIALとIMPLEMENT_SERIALで説明したようのマクロCObject クラス:CObject からクラスを派生。
たとえば、次の式を使用して pMyDoc と呼ばれる CMyDoc へのポインターを CDocument へのポインターにキャストできます。
CDocument* pDoc = STATIC_DOWNCAST(CDocument, pMyDoc);
pMyDoc が CDocument オブジェクトを直接または間接的に指していない場合、マクロは ASSERT を発生します。
必要条件
**ヘッダー:**afx.h