конвертировать «double *» в «boost :: any *»

У меня есть переменная boost::any* Предметы. Мое требование:

присваивать элементы со списком значений, которые могут иметь тип int, double или любой другой тип данных. Но в данный момент тип данных будет уникальным.

Проблема:

Для отдельных значений я могу назначить, используя items [index] = value; Но если я сделаю item = values; где values ​​это двойной массив, который он не может автоматически привести. Также, если я использую

items = boost::any_cast<boost::any*>(values)

Я получаю ‘boost :: bad_any_cast’: неудачное преобразование с использованием ‘boost :: any_cast`.

Некоторые советы будут действительно полезны, как я могу привести двойной массив к boost::any массив.

0

Решение

Это просто не может работать. В double[], двойники являются смежными. Там нет места между двумя двойными. Примерно то же самое относится к boost::any[] : между двумя нет места any объекты. Но есть пространство между двумя двойниками, хранящимися в соседних boost::any<> оберток.

Вам придется написать функцию.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]