04/11/09 00:34:22
>>537
>ええとポインタを引数に取るんだからvoid FuncC(int* c)じゃないのかな。
返答ありがとうございます。
試してみましたが、うまくいかないようです。
自分でもいろいろ試してみて、Manage C++側はFunc(int __gc &c)になるはずだと思ったんですが、
下のプログラムを実行すると『抽象クラスまたはインターフェイス 'CPP.CPP' のインスタンスを作成できません。』といったエラーが出ます。
CPPのFuncをオーバーライドできてないってことだと思うんですが、どうすればちゃんとオーバーライドできるんでしょうか?
Manage C++↓
namespace CS
{
public abstract class CS
{
public abstract void Func(ref System.Int32 c);
}
}
C#↓
namespace CPP
{
public __gc class CPP : public CS::CS
{
public:
void Func(int __gc &c){}
};
}
static void Main(string[] args)
{
CS.CS S = new CPP.CPP();
}