none
из одного array в другой. RRS feed

  • Вопрос

  • Все привет, не могу понять, как правильно сделать:

    есть 2 массива char'ов. Значения первого проверяются и если удовлетворяют условию - помещаются в массив 2. Однако не пойму как правильно присвоить значение массиву 2 значения массива 1. И просто приравниваю и использую SetValue, но при выполнении программы в месте присваивания вылезает ошибка исключения. Никак не пойму как быть.

     array <wchar_t> ^in = textBox1->Text->ToCharArray();
     array <wchar_t> ^out;
    	 for ( int i=0; i<n; i++)
    		{
    		if ( in[i]>='A' && in[i]<='Z' )
    		{
    								   
    MessageBox::Show(Convert::ToString(out[i]));
    								
    								
    q = in[i];
    								
    out=in[i];
    	// или пробовал так out->SetValue(q,i);							
    		}

    30 октября 2012 г. 15:25

Ответы

  • Да нужно инициализировать выходной массив, т.е. выделить под него память. Сейчас уже не вспомню синтаксиса C++/CLI, но когда в .Net создаётся объект то он является пустым, поэтому его надо проинициализировать. В C# это делается так

    string[] out = new string[10];
    Если планируете разрабатывать на .Net, то лучше сразу переходите на C#. А то писать программы на извращённом синтаксисе C++/CLI непросто.
    30 октября 2012 г. 16:33
    Модератор

Все ответы

  • Так он у Вас не инициализирован, инициализируйте его.
    30 октября 2012 г. 16:05
    Модератор
  • Спасибо, а инициализировать то? Что-то типа такого? 

     array <wchar_t> ^out = {0,0,0};

    30 октября 2012 г. 16:16
  • Да нужно инициализировать выходной массив, т.е. выделить под него память. Сейчас уже не вспомню синтаксиса C++/CLI, но когда в .Net создаётся объект то он является пустым, поэтому его надо проинициализировать. В C# это делается так

    string[] out = new string[10];
    Если планируете разрабатывать на .Net, то лучше сразу переходите на C#. А то писать программы на извращённом синтаксисе C++/CLI непросто.
    30 октября 2012 г. 16:33
    Модератор
  • да пока учусь, задают писать в формах с++. Разбираюсь как могу. Как разобрался более менее - довольно все удобно.
    30 октября 2012 г. 16:36
  • Если будете писать WinForms приложения, то C++ не тот язык, который нужен. Лучше Vb.Net или C#.
    30 октября 2012 г. 16:39
    Модератор
  • Спасибо, учту. Сейчас институт требует)
    30 октября 2012 г. 16:44
  • Для ВУЗа можно. Но если в будущем планируете заняться программированием на платформе .Net Framework, то имейте высшесказанное ввиду. К сожалению нынешние программы подготовки вузов не дают тех знаний, что требует реальность.
    30 октября 2012 г. 16:49
    Модератор
  • это точно,  единственное хорошо - они заставляют сидеть и разбираться. По формам вообще ничего не сказали, мол 99% на дому. В результате какая-то помесь у меня)
    30 октября 2012 г. 16:53
  • Пожалуйста, не забывайте отмечать решение проблемы, Спасибо.


    Для связи [mail]

    16 ноября 2012 г. 6:58