如何在C ++中声明具有不同类型的变量
struct maxKernelBetTwoVec
{
size_t Elem1;
double Elem2;
};
所以Elem2可以是int,或double或string。
答案 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
。