VB.NET で従来の C++ クラスのインスタンスを作成しようとしています。次の Web ページの指示に従いました: http://windowsdevcenter.com/pub/a/dotnet/2004/03/29/mcpp_part3.html?page=2
1) 1 つのファイル (MFoo.cpp) と次のコードで Visual C++ プロジェクトを作成しました。
class Foo
{ public:
// constructor
Foo(void) {}
// destructor
~Foo(void) {}
// some method
void DoSomeFoo(){} };
__gc class MFoo
{ public: Foo * _foo;
public:
// constructor
MFoo() { _foo = new Foo();}
// destructor
~MFoo() { delete _foo; }
// method
void ManagedDoSomeFoo() { _foo->DoSomeFoo(); } };
2) DLL を生成する Visual C++ でプロジェクトをビルド 3) VB.NET アプリケーションで DLL (パート 2 で作成) への参照を作成
C++ オブジェクトのインスタンス、つまり Dim foo As New MFoo を作成しようとすると、エラーが発生するようになりました。エラー: MFoo は Friend であるため、このコンテキストでは使用できません。