2013-03-02 50 views
0

我想在VB.NET中創建一個傳統C++類的實例。我按照以下網頁上的說明:http://windowsdevcenter.com/pub/a/dotnet/2004/03/29/mcpp_part3.html?page=2類在這種情況下不可用,因爲它是朋友

1)創建的Visual C++項目有一個文件(MFoo.cpp)和下面的代碼:

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++對象的實例時,我現在得到一個錯誤,即Dim foo As New MFoo 。錯誤是:MFoo在此上下文中不可用,因爲它是Friend。

+0

C++/CLI更換線__gc class MFoo!=託管C++ – user1937198 2013-03-02 15:51:26

+0

@ user1937198指出。我已經重新簽名。 – w0051977 2013-03-02 15:53:12

回答

3

您需要聲明類MFoo爲public,與public __gc class MFoo

+0

就是這樣。非常感謝。 – w0051977 2013-03-02 16:09:07

相關問題