好吧,我找不到方法,基本上它是一个带有参数的变量联合,基本思想,(写为函数)
例1
union Some (int le)
{
int i[le];
float f[le];
};
例2
union Some
{
int le;
int i[le];
float f[le];
};
糟糕,这行不通D:
也许是一种使用内部变量来设置长度的方法,但是也不起作用。
谢谢。
最佳答案
不,这是不可能的:le
将需要在编译时知道。
一种解决方案是使用模板化联合:
template <int N> union Some
{
int i[N];
float f[N];
};
N
当然是编译时可评估的。另一个解决方案可以说是更简洁
typedef std::vector<std::pair<int, float>> Some;
或基于
std::array
的类似解决方案。关于c++ - C++将参数发送给并集(变量并集),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35271453/