我一直在試圖找到一種方法來將std :: vector從本機C++代碼傳遞到C++/CLI管理的類。我是C++新手(非託管),因此我沒有這樣的運氣並不奇怪。我想指出的是,如何將std:vector(任何類型的,但最好是double或int)轉換爲託管C++/CLI數組和/或C#數組。也許這是不可能完成的,因爲我只看到相反的例子(即C#到本地C++),例如參見「convert System::array to std::vector」。下面我總結了我的失敗嘗試。從本地C++傳遞std :: vector到託管數組在C++/CLI和/或C#
我可以通過一個雙載體如
vector<vector<double> > dblvec
到一個本地C++類(其中,該類是在C++/CLI項目)中所定義的方法,但不進入在REF定義的方法類(也在C++/CLI項目中)。該comiler抱怨該方法(在ref類中)不存在(候選函數不可訪問)。我認爲這與矢量有關>被強制爲一個私有變量(例如參見C++ CLI error C3767: candidate function(s) not accessible)。
任何幫助將不勝感激。
非常感謝馬特的非常快速回復。我很欣賞這一點。你建議的解決方法是由你設計的,所以我想你是一個很好的人獲得建議!我會在明天看看你的解決方法,看看我能否理解它並讓它適合我的情況。 – dandar 2012-03-13 18:29:54