Очень простой? C ++ / CLI проблема - PullRequest
0 голосов
/ 23 февраля 2011

Я использую VC ++ 2010.

Я получаю ошибку C2228. Он говорит, что это должно быть struct, class или unioun перед .Text.

private: System::Void textBox1_TextChanged(System::Object^  sender, System::EventArgs^  e) {
    using namespace std;
    for(int r=0; r>(sizeof(x)/sizeof(x[0])); r++){
        if (x[r][1].find(textBox1.Text) != string::npos){
            label1.Text = (label1.Text+x[r][1]);
            label2.Text = (label1.Text+x[r][2]);
        }
    }
}

Он в основном ищет двумерный массив и проверяет, соответствует ли что-то введенному вами, и отображает его во время набора текста, что является основной функцией приложения, которое я создаю. Это ошибка в операторе if, два оператора после него дважды, вот и все, .Text выдает ошибки при всех 5 попытках его чтения, идентичные ошибке, которую я опубликовал выше.

Ответы [ 2 ]

1 голос
/ 23 февраля 2011

Вы должны использовать -> вместо.

Примерно так: textBox1-> Text-> ToString () или label1-> Text

0 голосов
/ 23 февраля 2011

Попробуйте вместо этого:

using namespace std;

private: 
    System::Void textBox1_TextChanged(System::Object^  sender, System::EventArgs^  e) {
        for(int r=0; r > (sizeof(x) / sizeof(x[0])); r++) {
            if (x[r][1].find(textBox1.Text) != string::npos){
            label1.Text = (label1.Text + x[r][1]);
            label2.Text = (label1.Text + x[r][2]);
            }
        }
    }

Команда using должна быть на самом высоком уровне, а форматирование лучше.Я надеюсь, что это решит проблему.

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