2017-04-06 16 views
-1

は、どのように私はそうのElem2がint、またはdouble、または文字列を指定できますC++はCで、異なるタイプの変数を宣言する++

struct maxKernelBetTwoVec 
{ 
    size_t Elem1; 
    double Elem2; 
    }; 

に異なる種類の変数を宣言することができます。

+3

あなたの仕事内容によって異なります。なぜそれが欲しいのですか? – Galik

+1

ユニオンを使用する必要があります – eyllanesc

+1

これを読んでください:http://stackoverflow.com/questions/252552/why-do-we-need-c-unions – eyllanesc

答えて

0

unionを使用できますが、正しく安全に使用するのは難しいです。

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

残念ながら、std::variantはC++ 17でのみ使用可能です:はるかに良いオプションがstd::variantを使用することです。 std::variantをまだ使用できない場合は、代わりにboost::variantを使用してください。

+0

thnx、まさに私が必要なもの – user3406305

関連する問題