単純な質問は、この有効なC++です:C++のメソッド名はヘッダーのクラス名で修飾できますか?
class Foo
{
void Foo::doSomething();
};
の質問のポイント:メソッド名の前にクラス名とダブルコロンの繰り返し使用有効は、クラス宣言内にありますか?
g ++ 4.2.3を使用してこれを行うコードをコンパイルする際に問題が発生しています。私はここで構文を説明する何かへの参照を参照して、コードを掘り下げて変更するのが好きです。または、コンパイラをダウングレードする。これはg ++ 3.3.6で構築されます。
私は取得していますエラーが(大体)です:
Foo.h:3: error: extra qualification ‘Foo::’ on member ‘doSomething’
私はグーグルをしましたが、何かを思い付くことができませんでした。私は標準を持っていないし、たとえ私がしても、権威あるものを見つけるのにかなり時間がかかりそうだ。私はC++言語の弁護士ではありません。
Visual Studio(2008)は "Foo ::"を受け入れます –
ええ、私は知っています...しかし、g ++を使ってコードを構築しようとしています。または、私の視点から見ると、VCは何かを受け入れるようですが、g ++は厄介なことがあります。 :) – unwind
私はFoo ::は最高で不必要で最悪の場合有効ではないと言っています。したがって、私の意見では、あなたは完全にそれを削除することが正当です。 – markh44