Массив объектов - как создать?

Oput
Offline
Зарегистрирован: 11.11.2017

Добрый. Хотелось бы создать что-то подобное, но пока не пойму как:

class HistoryItem
{
public:
  HistoryItem(int p1, String p2){
    time = p1;
    json = p2;
  };
  int time;
  String json;
};

class History
{
public:
    HistoryItem data[];

    void Add(int time, String json){
      data[data.length] = new HistoryItem(time, json);
    }
};

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ну,  Вы размер-то в 15-ой строке укажите. И что за length в строке? Нет там такого. Вы перепутали языки.

Oput
Offline
Зарегистрирован: 11.11.2017

ЕвгенийП пишет:

Ну,  Вы размер-то в 15-ой строке укажите. И что за length в строке? Нет там такого. Вы перепутали языки.

Я незнаю размер - массив должен расширяться, я не "перепутал" - я написал часть на том что знаю. Как это можно интерпритировать на Arduino?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Oput пишет:

Я незнаю размер - массив должен расширяться, я не "перепутал" - я написал часть на том что знаю. Как это можно интерпритировать на Arduino?

Массив не может изменять свой размер. По определению.

Существуют, правда, способы, позволяющие эмулировать такое изменение, но они довольно ресурсоемкие, а потому малопригодны для микроконтроллеров.

Постарайтесь перестроить алгоритм работы программы так, чтобы он не требовал применения "расширяемых" массивов. Либо, если расширяемось - непременное условие, используйте вместо массивов списки.