在C ++中声明一个具有不同类型的变量

时间:2017-04-06 03:39:07

标签: c++

如何在C ++中声明具有不同类型的变量

 struct maxKernelBetTwoVec
 {
     size_t  Elem1;
     double Elem2;
  };

所以Elem2可以是int,或double或string。

1 个答案:

答案 0 :(得分:0)

您可以使用union,但它们很难正确安全地使用。更好的选择是使用std::variant

struct maxKernelBetTwoVec
{
    size_t Elem1;
    std::variant<int, double, std::string> Elem2;
};

不幸的是,std::variant仅适用于C ++ 17。如果您还不能使用std::variant,则可以改为使用boost::variant