1
int atClass1::read_file
(String^ file_path, /* Path tofile */
HdfCallVars % ret_vals)
這是我的功能。在它裏面我有很多原生的C++代碼。我碰到一個嚴重的問題,雖然被管理的結構被髮送到非託管功能
/* Iterate through the links, filling in needed data as discovered. */
io_err = H5Literate (group_id, H5_INDEX_NAME, H5_ITER_NATIVE,
&i, get_sonar_data, (void*)& ret_vals);
不會編譯!說ret_vals是管理,我不能做pointerey ampersandey的東西。我有麻煩了嗎?或者有什麼辦法擺脫我的困境? H5函數是對HDF5庫的調用。 謝謝, saroj
非常感謝您的詳細回覆 - 我會馬上試用!非常感謝!saroj – 2013-02-16 05:21:49
GreenBoxal,我需要H5LIterate來填充我的ret_vals。它是否會這樣做,就像你在例2中寫的那樣? (例1不會編譯)。呼叫H5功能後,如何再次訪問ret_vals?謝謝,saroj – 2013-02-17 04:58:41
爲什麼不編譯?嘗試使用cli :: pin_ptr,這兩個示例都應寫入ret_vals,並且您可以正常訪問它 – greenboxal 2013-02-17 05:16:26