2016-08-14 8 views
0

私は文字列^オブジェクトとのstd ::ベクトルを作成するために問題がありますString ^オブジェクトのリストを作成しますか?VisualC++:どのようにそう</p> <blockquote> <p>'&&': cannot use this indirection on type 'System::String ^'</p> </blockquote> <p>:それは、エラーを促し</p> <pre><code>std::vector<String^> vSometing; </code></pre> <p>:文字列^とstd ::ベクトル

+0

*インタプリートコードを作成しようとすると、ガベージコレクションの基本的な考え方がかなり重要になります。あなたが間違ったときにコンパイラはしばしばあなたの首輪をラップしますが。それは、それらのSystem :: String参照のように、オブジェクトのルートを見つけることができるときにのみ機能します。 std :: vectorに格納するときには動作しません。GCはその型がどのようなものか分かりませんので、オブジェクト参照の正しい場所を見ることができません。 'std :: vector 'をすべてネイティブに保つか、 'List ^'を使ってすべて管理しておく必要があります。 –

答えて

0

本当にSTLコレクションの使用を希望する場合は、STL/CLRライブラリを使用できます。 1つの解決策はListです。 Vectorはnewを使用してオブジェクトを割り当てますが、System::String^を割り当てることはできません。

スー使用List<String^>またはSystem::String^からstd::stringに変換してください。 変換の仕方、これはtopicのように見えます。

+0

STL/CLRの推奨を検討する前に[この記事(http://www.codeproject.com/Articles/24206/A-look-at-STL-CLR-performance-for-linear-container)]をお読みください。 –

関連する問題