我正在編寫一些使用託管C++包裝器和C#中的用戶界面以本地C++編寫的軟件。我需要將本機代碼中的一些信息一直傳遞到接口。我能想到的傳遞我的信息的最佳方式是在一個元組列表中。我知道在本機C++中,我需要使用list<tuple<..>>
,而且工作正常。我現在想做的是在包裝中取出輸出,並返回List<Tuple<..>>
,這是System::Collections::Generic::List
和System::Tuple
而不是本地的stl。我知道這些列表在語法上有很大不同,但這不應該成爲問題。在C#代碼中,編譯器接受了List<Tuple<..>>
,但在託管的C++代碼中卻沒有。我做錯了/我使用了錯誤的數據類型嗎?任何幫助都是極好的!在託管C++中列表<Tuple <int, float>>
回答
嘗試這樣:
using namespace System::Collections::Generic;
// A List<Tuple<int, float>> in managed C++
public ref class TupleTest
{
public:
static List<Tuple<int, float>^>^ GetTuple() {
List<Tuple<int, float>^>^ ret = gcnew List<Tuple<int,float>^>();
Tuple<int,float>^ t = gcnew Tuple<int,float>(5, 2.6);
ret->Add(t);
return ret;
}
};
注意:如果你喜歡,你可以使用的Int32和單(或雙),而不是INT /浮動。
編輯:通知的^
運營商。這些表示C++/CLI參考類型。你會用很多! (有點像*
對於常規C++中的指針,但是表示GC'ed引用類型)
好吧,所以我需要這兩個^的....我曾嘗試使用它們,但它沒有工作得很好....託管C++讓我頭痛 –
@IanPanzica記得稱它爲C++/CLI,至少在Stack Overflow上。託管C++會混淆使用舊的.Net C++實現的人們。 – 2013-07-16 13:38:36
我會記得那個謝謝!我的老闆只是把它稱爲託管的C++,所以這就是我頭腦中的東西。 –
- 1. 在c#中的列表<Tuple <int,int>>中的二進制搜索#
- 2. 如何unordered_set <tuple <int,int>>?
- 3. C#XML列表<int>
- 4. 在C++中使用<int*>列表
- 5. 將MFC CArray <int>轉換爲託管C++中的列表<int>的最快轉換
- 6. 從字典<int,List <Tuple <string,object >>>到Dictionary <int,List <Tuple <string,object,AnEnum >>> with LINQ
- 7. 將列表<int>轉換成列表<float>? C#
- 8. c#使用XmlTextReader在列表<Tuple<>>中添加字符串
- 9. 列表<Tuple<T>> | AddRange與陣列
- 10. 排序列表<int>「>」和「<」
- 11. 在列表<int>
- 12. 如何檢索HashSet的第二項<Tuple <string, int>>
- 13. 檢查,如果我的字典<INT,列表<int>>在列表中
- 14. 檢查列表<Tuple<T, T>>是否爲空
- 15. 編輯列表<Tuple>項目
- 16. C - 如何閱讀sscanf <int><string><int>?
- 17. C++:矢量<對<vector<int>,INT>>
- 18. C#字節[]返回列表<int>
- 19. C#添加列表<int>一類
- 20. 將轉換列表<string>轉換爲列表中的<int> C#
- 21. 什麼打字.List <~T> [typing.Tuple [int]]是否意味着在Python的打字庫中?</p> <pre><code>>>> from typing import List, Tuple >>> List[Tuple[int]] typing.List<~T>[typing.Tuple[int]] </code></pre> <p>這是什麼類似Java的語法<code>List<~T></code>:
- 22. 在C++中使用映射<pair <int,int>,string>
- 23. 保存列表<int>
- 24. 有序列表<Int>
- 25. ASP.NET散列表<int>
- 26. convert <vector><string> TO <vector><int> C++,Win32
- 27. 如何從字典<char,Tuple <int, char>>特定鍵的int值?
- 28. 如何從List <Tuple <int,int,string >>獲取字符串數組?
- 29. C# - 如何從列表中刪除值<Tuple>
- 30. 如何將System.Linq.Enumerable.WhereListIterator <int>轉換爲列表<int>?
您使用的是C++/CLI還是其他? –
是的,這是託管的C++包裝 –
你有正確的名稱空間正在使用和項目引用?編譯器給出的確切消息是什麼? –