Петля на объектах разных типовC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Петля на объектах разных типов

Сообщение Anonymous »

Рассмотрим этот код (в реальном коде есть гораздо больше строк Readjsonkey): < /p>

Код: Выделить всё

int LoadParametersFromJSON(JsonDocument& JsonDoc)
{
int err = 0;
err += ReadJSONkey(Pins, JsonDoc, "Pins");
err += ReadJSONkey(SerialSpeed, JsonDoc, "SerialSpeed");
err += ReadJSONkey(NamePrefix, JsonDoc, "NamePrefix");
err += ReadJSONkey(TimeRules, JsonDoc, "TimeRules");
return err;
}
, в котором первый параметр readjsonkey имеет другой тип без отношений наследования вообще: int , std: string , std :: map ...
есть способ, который можно сделать, а затем в списке «Список всех», а затем, а затем, как то, что можно сделать, а затем, а затем, как что -то, что -то подобное, а затем, а затем, как то, что можно сделать, а затем в то, чтобы сделать что -то подобное, а затем в «ПАРАМЕТРИ» и «ПАРАМЕТРИ» и «ПАРАМЕТРИ» и «ПАРАМЕТРЫ» и «ПАРАМЕТРЫ» и «ПАРАМЕТРЫ»> Readjsonkey (param, jsondoc, paramname) < /code>?

Код: Выделить всё

template  int ReadJSONkey(T &data, JsonDocument &doc, const char *Name, const char *Object)
Поэтому недостаточно, чтобы отбросить все, чтобы void* и забыть о фактических типах.
c ++ 23/gcc14 доступен.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... rent-types
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»