FAQ

QA・C/QA・C++

QA·C/QA·C++に関する

ID.10

Q. 「メンバからメンバ・ポインタへの暗黙の型変換を許可する(-aicpm+)」オプションの設定基準を教えてください。 QAC++2.1J以上

A.


コンパイラの中には、クラスのメンバ関数型から クラスのメンバ・ポインタ型への変換を許すものと、 そうでないものがあります。

お使いのコンパイラが、前者の挙動をする場合は、 「メンバからメンバ・ポインタへの暗黙の型変換を許可する(-aicpm+)」オプション を設定する必要があります。後者の場合は、デフォルト(-aicpm-)のままにします。

具体的には、お使いのコンパイラが次のソースコードをエラーなく コンパイルできる場合は、-aicpm+オプションを設定する必要があります。 // Error ==> -aicpm- (default) // Success ==> -aicpm+ class X { public: void foo() {} }; void (X::*func)() = X::foo; // Problem int main(void) { return 0; }なお、設定方法は次の通りです。

GUIから設定する場合:
  [コンパイラ パーソナリティ] の [拡張] タブで
  [メンバからメンバ・ポインタへの暗黙の型変換を許可する]
  チェックボックスを選択します。

設定ファイルを直接編集する場合:
  -aicpm+ と記述します。

<< QA·C/QA·C++に関するに関するFAQ一覧へ戻る