FAQ

QA・C/QA・C++

QA・C++ 特有のFAQ

ID.5

Q. 「friend名を導く(-ifn+)」オプションの設定基準を教えてください。 QA C++全バージョン

A.


コンパイラの中には、friend宣言を前方宣言と同様に扱い、 friend宣言で使用された識別子を名前検索時に使用できる ようにしているものと、そうでないものがあります。

お使いのコンパイラが、前者の挙動をする場合は、 「friend名を導く(-ifn+)」オプション を設定する必要があります。後者の場合は、デフォルト(-ifn-)のまま にします。

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

<< QA・C++ 特有のFAQに関するFAQ一覧へ戻る