我有一个变量boost::any*
项。我的要求是:
使用值列表分配项目,这些值可以是int,double或任何其他数据类型。但在给定时间,数据类型将是唯一的。
问题:
对于单个值,我可以使用项目[index] = value进行分配;但如果我做item = values;其中values是一个double数组,它不能自动转换。如果我使用
items = boost::any_cast<boost::any*>(values)
我收到'boost :: bad_any_cast':使用'boost :: any_cast`转换失败。
如何将双数组转换为boost::any
数组,一些提示真的很棒。
答案 0 :(得分:1)
它无法正常工作。在double[]
中,双打是连续的。两个双打之间没有空格。大致相同的情况适用于boost::any[]
:两个any
对象之间没有空格。但是在相邻的boost::any<>
包装器中存储了两个双打之间的空间。
你必须写一个函数。