Visual C ++ - невозможно получить текстовое значение элемента listBox, ошибка C2872: «текст»: неоднозначный символ - PullRequest
0 голосов
/ 24 сентября 2011
myWarcraftRace->removeSkill( sysStringToCharArray( listBox_mySkills->SelectedItem->Text ) );

syStringToCharArray () работает, также работает removeSkill (), проблема в том, что я не могу получить текстовое значение listBox_mySkills-> SelectedItem

Если я делаю, как я делал выше,это дает мне ошибку:

1>d:\programming\vc++ projects\wcrace maker\MainForm.h(194): error C2872: 'Text' : ambiguous symbol
1>          could be 'System::Drawing::Text'
1>          or       'System::Text'
1>d:\programming\vc++ projects\wcrace maker\MainForm.h(194): error C2882: 'Text' : illegal use of namespace identifier in expression

И если я попытаюсь использовать его без текста, это выдаст мне ошибку:

1>d:\programming\vc++ projects\wcrace maker\MainForm.h(194): error C2664: 'sysStringToCharArray' : cannot convert parameter 1 from 'System::Object ^' to 'System::String ^'

Что он, как предполагается, должен делать, вызывает sysStringToCharArray() принимает параметр System :: String ^.Так что проблема в том, что я не могу использовать свойство Text элемента списка, у кого-нибудь есть идеи, почему это так?

1 Ответ

0 голосов
/ 24 сентября 2011

Вы не получаете большое сообщение об ошибке здесь. Проблема real - это тип свойства ListBox :: SelectedItem. Это объект, список может хранить любой вид значения или объекта. И у объекта нет свойства Text. Компилятор теперь не работает при поиске идентификатора «Текст» и обнаружении совпадений в именах пространства имен, более одного. Исправлено:

listBox_mySkills->SelectedItem->ToString()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...