Имеется такой код: Код (C++): #include <Filters.h> FilterOnePole flp[64]; void setup(){ //тут я провожу некоторые вычисления for(int i = 0; i < 64; i++){ //тут надо инициализировать объект } } void loop(){ } Как видите, задача сводится к тому, чтобы инициализировать объект из массива в setup(). Спасибо.
Зависит от реализации класса FilterOnePole. Допустим, он имеет функцию setup: Код (C++): #include <Filters.h> FilterOnePole flp[64]; void setup() { //тут я провожу некоторые вычисления for(int i = 0; i < 64; i++) { //тут надо инициализировать объект flp[i].setup(....); } } void loop() { } Допустим, что класс FilterOnePole не имеет конструктора без параметров, тогда: Код (C++): #include <Filters.h> FilterOnePole* flp[64]; void setup() { //тут я провожу некоторые вычисления for(int i = 0; i < 64; i++) { //тут надо инициализировать объект flp[i] = new FilterOnePole(parameters); flp->someMethodName(); } } void loop() { }
Спасибо. Такой код Код (C++): #include <Filters.h> FilterOnePole* flp[64]; void setup() { for(int i = 0; i < 64; i++) { flp[i] = new FilterOnePole(LOWPASS, 5.0); flp->input(1); } } void loop() { } Выдаёт ошибку
А, точно! flp - массив, поэтому надо написать Код (C++): #include <Filters.h> FilterOnePole* flp[64]; void setup() { for(int i = 0; i < 64; i++) { flp[i] = new FilterOnePole(LOWPASS, 5.0); flp[i]->input(1); } } void loop() { }