よろしくお願いします。
下記のコードにおいて 1番と3番のコードは許してくれるのですが2番のコードはコンパイラに叱られてしまいます。なんとか2番の表記を実現させる方法ってありませんか?
class ClassA
{
class ClassB
{
ClassB();
//ClassB(){} 1番
};
//inline ClassB::ClassB(){} 2番
};
//inline ClassA::ClassB::ClassB(){} 3番
開発ツール:VisualC++2005ExpressEdition
すいません、エラーの内容を載せ忘れました。
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のコンストラクタを定義する権限が無い...?みたいな感じに思えるのですが、どなたか教えてください。
無理ポ。
そこは定義を書くとこじゃないから。
う〜ん、そうなんですか...残念です。
επιστημηさんありがとうございました。
ツイート | ![]() |