2014-02-25 3 views
0

벡터의 요소를 목록 상자에 표시하고 싶습니다. 그러나 오류가 계속 발생합니다 : 오류 C2664 : 'System :: Windows :: Forms :: ListBox :: ObjectCollection :: Add': 'std :: basic_string에서 매개 변수 1을 변환 할 수 없습니다. < _Elem, _Traits, _Alloc>' 'System :: Object ^'목록 상자에 벡터 요소 표시

저는 C++/cli에서 windows 양식을 사용하고 있습니다. 이 코드입니다 : 오류 메시지를 기반으로

for (size_t z = 0; z < container.size(); z++){ 
     listBox_name->Items->Add(container[z]); 
    } 
+0

이것은 C++/CLI가 아닌 C++에 관한 내용입니다. ** 동일한 ** 아닙니다 **. 질문에 올바르게 태그를 지정하면 응답을받을 가능성이 큽니다. –

답변

0

, 당신의 벡터 std::string의 벡터이다. marshal_as을 사용하면 std::string을 관리되는 목록 상자에서 수용 할 수있는 관리되는 String^으로 변환 할 수 있습니다. 당신이 많은 일을하는지 발견하면

for (size_t z = 0; z < container.size(); z++){ 
    listBox_name->Items->Add(marshal_as<String^>(container[z])); 
} 

는 같은 List<String^>^로, 완벽하게 관리되는 형식을 수 std::string 당신의 벡터를 변경하는 것이 좋습니다.

+0

정말 고마워요. 작동합니다! – user2990515