Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2016, 16:00   #31
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 414
По умолчанию

Помогло using namespace System;
Еще подскажите пожалуйста,как правильно создать поле класса,содержащее массив объектов другого класса.
Код:
ref class Class3
{
public:
	Class3(void);
	  Person[] arr1;

};
На это выдает ошибки:
синтаксическая ошибка: [
непредвиденные лексемы перед ";"
Вероника99 вне форума Ответить с цитированием
Старый 25.05.2016, 16:05   #32
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,708
По умолчанию

array<Person>^ если управляемый нужен
p51x вне форума Ответить с цитированием
Старый 25.05.2016, 17:25   #33
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 414
По умолчанию

Спасибо,помогло.
Скажите еще пожалуйста, как правильно передать array<String^>^ gc1 в функцию,а потом инициализировать поля класса переданным массивом.Делаю так:

Код:
  
...
array<String^>^ gc1= {"Иван","Иванов"};
	Class3 arr= gcnew Class3(); //объект класса
			arr.SetDat(gc1,x,y,z);
Код:
public:
	Class3(void);
	array <Person^> ^arr1;
	  	Class3(const Class3^);
	void SetDat( array<String^>^ gc1, double x, double y, double z)
	{
		arr1[0]=gcnew Person();
		arr1[0]->name=gc1[0];
	}
Происходит аварийное завершение
Вероника99 вне форума Ответить с цитированием
Старый 25.05.2016, 17:30   #34
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Что передавали в SetDat? Память под элементы в массивах выделена?

Если вы хотите добавлять элементы, то для этого есть List и т.п.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 25.05.2016, 17:46   #35
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 414
По умолчанию

Все таки проблема не в array<String^>^ gc1,а в создании нового объекта в методе SetDat. В классе Person конструктор пустой:
Код:
Person::Person(void)
{}
Подобным образом нельзя создавать объект класса?

Код:
Class3(void);
	array <Person^> ^arr1;
	  	Class3(const Class3^);
void SetDat( array<String^>^ gc1, double x, double y, double z)
	{
		arr1[0]=gcnew Person();
		arr1[0]->name=gc1[0];
	}
Как тогда правильно?
Вероника99 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ребят, уже запарился, гляньте, что не так!? конструктор копирования и оператор присваивания bayanist17 Помощь студентам 0 29.09.2013 12:00
Ошибка с конструктором копирования Qwoort Общие вопросы C/C++ 11 13.06.2012 21:53
Как узнать, что производится копирования файла? pavellyba Общие вопросы Delphi 5 11.08.2011 17:37
Макрос для копирования значений из нескольких файлов в один общий с определенным условием копирования zenner Microsoft Office Excel 0 21.03.2011 14:48
Что-то не так с конструктором Дырдин Общие вопросы C/C++ 7 26.03.2010 18:33