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

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

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

Animal *arr = new Animal[counter];

Foo(*arr);

void Foo (Animal &arr) {
  cout << arr[3].x;  // Тут ошибка
}
  • Вопрос задан
  • 114 просмотров
Подписаться 1 Простой 7 комментариев
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Нетология
    Специалист по информационной безопасности + нейросети
    12 месяцев
    Далее
  • Компьютерная академия «TOP»
    Учебная программа “Разработка программного обеспечения”
    30 месяцев
    Далее
Решения вопроса 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);

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

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

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