【发布时间】:2012-11-09 23:40:48
【问题描述】:
我有一个变量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 数组的一些提示将非常有用。
【问题讨论】:
-
再更新一次,如果我使用 items = reinterpret_cast<:any>(values);程序运行,我也可以分配值。但是 boost::any_cast
(this->entries[_index]) 会因 boost 的错误转换给出错误。所以我无法取回这些值。