几天前我开始使用 boost 库,所以我的问题可能是微不足道的。我想将两个相同类型的变体与 static_visitor 进行比较。我尝试了以下,但它不想编译。
struct compare:public boost::static_visitor<bool>
{
bool operator()(int& a, int& b) const
{
return a<b;
}
bool operator()(double& a, double& b) const
{
return a<b;
}
};
int main()
{
boost::variant<double, int > v1, v2;
v1 = 3.14;
v2 = 5.25;
compare vis;
bool b = boost::apply_visitor(vis, v1,v2);
cout<<b;
return 0;
}
感谢您的任何帮助或建议!