■ ネストされたクラスのメンバ関数のinline定義
michi
2007/12/09(日) 13:48:02 <中級者> 
よろしくお願いします。
下記のコードにおいて 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 <中級者> 
すいません、エラーの内容を載せ忘れました。
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
無理ポ。
そこは定義を書くとこじゃないから。
michi
2007/12/09(日) 22:26:49 <中級者> 
[[解決]]
う〜ん、そうなんですか...残念です。
επιστημηさんありがとうございました。
毎週金曜日はポイント最大3倍!さらに4倍のチャンスも!
