У меня есть переменная 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
массив.
Это просто не может работать. В double[]
, двойники являются смежными. Там нет места между двумя двойными. Примерно то же самое относится к boost::any[]
: между двумя нет места any
объекты. Но есть пространство между двумя двойниками, хранящимися в соседних boost::any<>
оберток.
Вам придется написать функцию.
Других решений пока нет …