0
考慮下面的測試接口(C#):定義一個接口在C#和C++之間傳遞byte []和byte *?
public interface ITest
{
UInt32 Simple(UInt32 someArg);
byte* Read(UInt32 count);
void Write(byte* buf, UInt32 count);
byte[] ReadArray(UInt32 count);
void WriteArray(byte[] buf);
}
我可以實現在C++/CLI這個接口?我嘗試了一百萬種不同的方式。目前我有這樣的:
typedef unsigned __int32 uint32;
typedef unsigned char byte;
public ref class CTest : public ITest
{
virtual uint32 Simple(uint32 someArg);
virtual byte * Read(uint32 count);
virtual void Write(byte * buf, uint32 count);
virtual System::Array<byte>^ ReadArray(uint32 count);
virtual void WriteArray(System::Array<byte>^ buf);
}
的VC2010編譯器抱怨恨恨所有的除外CTEST方法::簡單,聲稱我沒有實現的接口。
有人可以讓我看看C++/cli魔術來實現一個接口,它傳遞byte *還是byte [](最好是兩者)?我在我束手無策......
所以我已經正確地宣佈爲公開;我只是沒有嘗試編譯我的例子。事實證明,我的問題的根源在於,當我試圖解決這個問題時,我已經工作了14個小時,並且在我的實施課程的方法名稱中存在拼寫錯誤。 D'哦!無論如何,感謝您的快速反應...... –