Задать вопрос
re1mond
@re1mond

Как получить доступ к элементам динамического массива по ссылке?

Есть динамический массив объектов, как передать его в функцию и получить доступ к отдельному элементу?

Animal *arr = new Animal[counter];

Foo(*arr);

void Foo (Animal &arr) {
  cout << arr[3].x;  // Тут ошибка
}
  • Вопрос задан
  • 112 просмотров
Подписаться 1 Простой 7 комментариев
Решения вопроса 1
edward_freedom
@edward_freedom
void Foo (Animal &arr)

ты передаешь в аргументах не массив, а обьект
class Animal {
public:
	std::string Name;
};

void Foo(Animal *arr) {
	cout << arr[1].Name.c_str() << endl;
}

void main()
{
	Animal *animals = new Animal[3];

	animals[0].Name = "Cat";
	animals[1].Name = "Dog";
	animals[2].Name = "Cow";


	Foo(animals);

	animals[1].Name = "Change to Dog";
	Foo(animals);

}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы