ネストされたクラスのメンバ関数のinline定義

解決


michi  2007-12-09 13:48:02  No: 67175  IP: 192.*.*.*

よろしくお願いします。

下記のコードにおいて 1番と3番のコードは許してくれるのですが2番のコードはコンパイラに叱られてしまいます。なんとか2番の表記を実現させる方法ってありませんか?

class ClassA
{
  class ClassB
  {
    ClassB();
    //ClassB(){}    1番
  };
  //inline ClassB::ClassB(){}    2番
};

//inline ClassA::ClassB::ClassB(){}    3番

開発ツール:VisualC++2005ExpressEdition

編集 削除
michi  2007-12-09 14:22:29  No: 67176  IP: 192.*.*.*

すいません、エラーの内容を載せ忘れました。

error C3254: 'ClassA' : class contains explicit override '{ctor}' but does not derive from an interface that contains the function declaration

C3254
http://msdn2.microsoft.com/ja-jp/library/d3a2e8yw(VS.80).aspx

2番のコードは非inlineにしてもinlineと同じエラーが出ます。
エラーを見る限り、1番の表記以外のの方法ではClassA内でClassBのコンストラクタを定義する権限が無い...?みたいな感じに思えるのですが、どなたか教えてください。

編集 削除
επιστημη  2007-12-09 21:43:05  No: 67177  IP: 192.*.*.*

無理ポ。
そこは定義を書くとこじゃないから。

編集 削除
michi  2007-12-09 22:26:49  No: 67178  IP: 192.*.*.*

う〜ん、そうなんですか...残念です。
επιστημηさんありがとうございました。

編集 削除