C++ 类在此上下文中不可用,因为它是友元
我试图在VB.NET中创建一个遗留C++类的实例。我已按照以下网页上的说明进行操作:C++ 类在此上下文中不可用,因为它是友元,c++,vb.net,managed-c++,C++,Vb.net,Managed C++,我试图在VB.NET中创建一个遗留C++类的实例。我已按照以下网页上的说明进行操作: 1)创建了一个带有一个文件(MFo.CPP)的VisualC++项目,下面的代码: class Foo { public: // constructor Foo(void) {} // destructor ~Foo(void) {} // some method void DoSomeFoo(){} }; __gc class MFoo { public: Foo * _foo; pu
1)创建了一个带有一个文件(MFo.CPP)的VisualC++项目,下面的代码:
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)在Visual C++中生成DLL 3) 在VB.NET应用程序中创建对DLL(在第2部分中创建)的引用
<>我现在尝试创建C++对象的实例,即DimeFoo作为新的MFO。错误是:MFoo在此上下文中不可用,因为它是Friend。您需要将类MFoo声明为public,将行
\u gc class MFoo
替换为public\u gc class MFoo
您需要将类MFoo声明为public,将行\u gc class MFoo
替换为public\u gc class MFoo
C++/CLI!=管理C++@user1937198,注意到。我重新标记了.C++/CLI!=管理C++@user1937198,注意到。我已经重新标记了。就这样。非常感谢,就这样。非常感谢。