我想知道是否有办法从一个结构变量中初始化一个数组。如果你有这样的结构-
struct Test{
int Number;
};您希望初始化int 数字,使其成为一个数组。
我已经试过了,但没有用:
Test t1;
t1.Number = new int[3];
t1.Number[3] = 6;我知道C++禁止调整数组大小,但是如果有一种方法将整数初始化为数组,那就不是真正的调整大小了(不是吗?)而且,向量在结构中不起作用。我得到一个“向量不命名类型”错误。
P.S.,我也做不到:
struct Test{
int Number[5];
};因为当时我不知道我想要的数组的大小。
发布于 2012-03-31 03:22:27
您可以使用指向int的指针--即,
struct Test{
int *Number;
};然后,您可以在将来的任何时候将它分配给您喜欢大小的数组:
t.Number = new int[5];但是正如其他人已经说过的那样,带有小"v“的std::vector工作得很好;一定要使用#include <vector>,以便编译器知道您在说什么。
https://stackoverflow.com/questions/9952720
复制相似问题