re1mond
@re1mond

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

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

Animal *arr = new Animal[counter];

Foo(*arr);

void Foo (Animal &arr) {
  cout << arr[3].x;  // Тут ошибка
}
  • Вопрос задан
  • 112 просмотров
Решения вопроса 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);

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

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

Похожие вопросы
CTRL+ Москва
от 250 000 до 320 000 ₽
CTRL+ Москва
от 200 000 до 300 000 ₽
CTRL+ Белград
от 250 000 до 320 000 ₽
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект
21 нояб. 2024, в 22:21
3000 руб./в час