rename (#import)

C++ 仕様

名前の衝突の問題解決の作業。

rename("OldName","NewName")

パラメーター

  • OldName
    タイプ ライブラリの元の名前。

  • NewName
    古い名前の代わりに使用する名前。

解説

この属性が指定されるとコンパイラはヘッダー ファイルでユーザーが指定した NewName とタイプ ライブラリの OldName のすべての一致を置き換えます。

この属性はタイプ ライブラリの名前がシステム ヘッダー ファイル マクロ定義と一致する場合に使用できます。この状況を解決するさまざまな構文エラーが コンパイラ エラー C2059コンパイラ エラー C2061 など生成されます。

[!メモ]

コントロールはタイプ ライブラリで使用される名前に生成されるヘッダー ファイルで使用される名前のことです。

たとえば MyParent という名前のプロパティがタイプ ライブラリにありマクロ GetMyParent がヘッダー ファイルに定義されています #import する前に使用されているとします。GetMyParent がエラー処理の 取得 のプロパティのラッパー関数の既定の名前であるため名前の競合が発生します。問題を回避するには#import のステートメントに次の属性を使用する :

rename("MyParent","MyParentX")

タイプ ライブラリの名前 MyParent の名前を変更するか。GetMyParent のラッパーで名前を変更しようとすると失敗します :

rename("GetMyParent","GetMyParentX")

これは名前 GetMyParent が結果のタイプ ライブラリのヘッダー ファイルのみで表示されるためです。

終了 C++ 仕様

参照

関連項目

#import の属性 (C++)

#import のディレクティブ (C++)