Есть динамический массив объектов, как передать его в функцию и получить доступ к отдельному элементу?
Animal *arr = new Animal[counter];
Foo(*arr);
void Foo (Animal &arr) {
cout << arr[3].x; // Тут ошибка
}
Вы указали аргументом функции ссылку на Animal, у которого потом пытаетесь вызвать operator[]
, скорее всего компилятор на это вам и указал в ошибке... Если вы хотите передавать массив, передавайте в функцию, например, указатель+размер массива.
void Foo(Animal* arr, size_t size)
{
//тут надо бы проверить, что size > 3
cout << arr[3].x;
}
Хотя, разумеется, вы можете выкрутиться как-то так:
void Foo(Animal& arr)
{
cout << (&arr)[3].x;
}
Но это уже мягко говоря извращение...
Animal *arr = new Animal[counter];
Foo(arr);
void Foo (Animal *arr) {
cout << arr[3].x;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
То есть мне надо использовать библиотеку Arduino и запустить код в своей среде
Хочу чтобы вся анимация и все отображение виджета было в с++ коде Если упрощенното виджет представляет собой 10 окружностей на которых расположены...
libclang по-умолчанию обрабатываетh файлы как файлы содержащие код на C