我正在尝试创建一个boost :: variant对象,除了其他数据类型之外,它还可以包含任何C结构 例如 - 这是我想要为我定义的任何结构实现的目标:
typdef struct c
{
int a ;
double b;
}c;
boost::variant<??> result;
c elem={1,2.0};
result = elem;
有没有办法实现这个目标?
答案 0 :(得分:1)
从技术上讲,您可以使用boost::any
作为boost::variant
的一种类型来实现它。但这没有意义。你真正应该为无界类型做的是直接使用boost::any
(或std::any
)。 variant
适用于有限类型。