相关疑难解决方法(0)

在单个结构中处理不同的数据类型

我需要在VxWorks消息队列上发送一些信息.要发送的信息在运行时决定,并且可以是不同的数据类型.我正在使用这个结构 -

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
};
Run Code Online (Sandbox Code Playgroud)

我目前正在通过消息队列发送一个structData数组.

structData arrStruct[MAX_SIZE];
Run Code Online (Sandbox Code Playgroud)

这里的问题是结构中只有一个变量一次有用,另外两个变量无用.因此,消息队列不必要地重载.我不能使用联合,因为数据类型和值是必需的.我尝试使用模板,但它没有解决问题.我一次只能发送一个数据类型的结构数组.

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

structData<int> arrStruct[MAX_SIZE];
Run Code Online (Sandbox Code Playgroud)

是否有标准的方式来保存这些信息?

c++

4
推荐指数
3
解决办法
2054
查看次数

如何在C中有一个可以接受各种类型的变量?

我想在C中实现一个字典数据结构,我想尽可能通用.也就是说它可以接受一对可以是任何类型的值.

如何初始化一个可以接受任何类型的变量?

如何将该类型转换回我想要的类型?(类型转换)

谢谢.

c

3
推荐指数
2
解决办法
354
查看次数

标签 统计

c ×1

c++ ×1