Behandlung verschiedener Datentypen in einer einzigen Struktur

Ich muss einige Informationen über eine VxWorks-Nachrichtenwarteschlange senden. Die zu sendenden Informationen werden zur Laufzeit festgelegt und können unterschiedliche Datentypen haben. Ich benutze eine Struktur dafür -

struct structData
{
  char m_chType;    // variable to indicate the data type - long, float or string
  long m_lData;     // variable to hold long value
  float m_fData;    // variable to hold float value
  string m_strData; // variable to hold string value
};

Ich sende gerade ein Array von structData über die Nachrichtenwarteschlange.

structData arrStruct[MAX_SIZE];

Das Problem hierbei ist, dass jeweils nur eine Variable in der Struktur nützlich ist, die anderen beiden sind unbrauchbar. Die Nachrichtenwarteschlange ist daher unnötig überlastet. Ich kann keine Gewerkschaften verwenden, da der Datentyp und der Wert erforderlich sind. Ich habe versucht, Vorlagen zu verwenden, aber das Problem wird dadurch nicht gelöst. Es kann immer nur ein Array von Strukturen eines Datentyps gleichzeitig gesendet werden.

template <typename T>
struct structData
{
  char m_chType;
  T m_Data;
}

structData<int> arrStruct[MAX_SIZE];

Gibt es eine Standardmethode zum Speichern solcher Informationen?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage