C++ boost::任意数字强制转换

C++ boost::任意数字强制转换,c++,boost,boost-any,C++,Boost,Boost Any,我把正的int加在我的any变量上。然后我尝试将其转换为“unsignedlong”。我得到了一个关于坏演员的例外。如何使用“boost::any_cast”更灵活地处理整数数据。将其提取到临时变量中,然后将其转换为所需的整数类型。将其提取到临时变量中,然后将其转换为所需的整数类型。您不能boost::any在这方面不是很灵活。类型必须完全匹配。如果您有一个已知的类型列表,我建议您改为查看boost::variant。除值本身外,每个条目都使用一个指针。你最好只制作一个最大整数类型的数组。你不能

我把正的int加在我的any变量上。然后我尝试将其转换为“unsignedlong”。我得到了一个关于坏演员的例外。如何使用“boost::any_cast”更灵活地处理整数数据。

将其提取到临时变量中,然后将其转换为所需的整数类型。

将其提取到临时变量中,然后将其转换为所需的整数类型。

您不能
boost::any
在这方面不是很灵活。类型必须完全匹配。如果您有一个已知的类型列表,我建议您改为查看
boost::variant
。除值本身外,每个条目都使用一个指针。你最好只制作一个最大整数类型的数组。你不能
boost::any
在这方面不是很灵活。类型必须完全匹配。如果您有一个已知的类型列表,我建议您改为查看
boost::variant
。除值本身外,每个条目都使用一个指针。您最好只制作一个最大整数类型的数组。问题是,在我应用boost::any_cast的地方,我不知道前一个类型是什么类型。@user14416:您不能这样使用boost::any。您必须知道类型,或者至少查看可能的类型列表。问题是,在我应用boost::any_cast的地方,我不知道前一个类型是什么类型。@user14416:您不能以那种方式使用boost::any。您必须知道类型,或者至少按照您的方式查看可能的类型列表。