将整数分配给由 boost::variant 生成的自动变量

Assignement of integer to auto variable generated by boost::variant

本文关键字:变量 variant 分配 boost 整数      更新时间:2023-10-16

我有一个代码如下

 typedef boost::variant<char, int, double> myvariant;    
 myvariant add(int a, int b)        
 {  
     return (a + b);     
 }  
 int main()    
 {     
     auto i = add(4,5);    
     int x ;    
 }

我想将i分配给x.有什么建议吗?如果这个程序是错误的,那么我很乐意认识其他人。

也许不是使用boost::variant更好的模板?

template<typename T>
auto add(T a, T b)
{
    return a + b;
}

如果您还想将模板限制为这 3 种类型,您可以使用 static_assert .