いくつかのフィールドに異なる変数型の構造体を定義したいとします。たとえば、私はこのような構造体定義:動的構造体を定義する
struct sensor {
int index;
int value;
};
struct sensor2 {
int index;
float value;
};
を私は2つのオプション、誰かの整数値と他の時間float値が、ユニークな構造でのみ1構造体を宣言します。 私の質問は: 1つの構造体を宣言し、型(intまたはfloatまたは...)のいずれかを選択するためのパラメータを渡すことはありますか? 2.この理由でテンプレートを使用できますか?
struct sensor {
int index;
type_as_option value; //int or float
};
最高点
'bool is_float; int int_value; float float_value; '? – immibis
'struct'内で匿名の' union'を使うことができます: 'struct sensor {int index; union {int v;フロートt; 'union'はデータメンバーのうちの1つだけを含むことができ、そのメンバーのうち最大のものを格納するのに十分なメモリしか使用しないためです。これにより、テンプレートに頼らずに特定のケースで2つの中から選択することができます。これで十分なら、私はそれを答えに移します。 –