меня есть переменная в файле main.cpp с именем leds
CRGB leds[NUM_LEDS];
Затем в каком то другом классе мне нужно получить доступ к этой переменной:
class SimpleClass {
private:
CRGB _leds;
public:
SimpleClass(CRGB *leds);
};
Типа мы в main.cpp создали объект и передали туда переменную leds.
SimpleClass simple(leds);
А как потом в SimpleClass с ней работать? Не очень понимаю синтаксис.
leds[0] = ...
размер еще передать нужно, а так просто берешь и for (int i = 0; i < size;++i) { std::cout << leds[i]; }
массивы в с++ - это не обьекты в привычном понимании этого слова, и работать с ними как с обьектами не выйдет. Это очень комплексная тема, и сразу ее понять или обьяснить не выйдет. Имя массива неявно приводится к указателю на первый елемент, когда передается в функцию, так что если хочешь работать с массивом, то функция должна выглядеть так: void foo(int* arr, size_t size) { for (size_t i = 0; i < size; ++i) { // do smth with arr[i] } } а вызывать ее следовательно надо int arr[5]; foo(arr, 5);
Обсуждают сегодня