我已经写了这段代码
struct Personalidadbeta{
int A, B, C, D, E, F, G, H, I, L, M, N, O, Q1, Q2, Q3, Q4,Extraversion;
};
const int Cantidad = personalidadalfa.Extraversion * 24;
完成将该变量转换为常量,但是当我想创建一个带有该变量“Cantidad”的结构数组时,它会产生并且错误会告诉变量不是常量而必须运行它;
void crearPersonalidadBeta(){
Personalidadbeta personalidadbeta[Cantidad];
}
如何制作那种结构数组?
答案 0 :(得分:3)
这是X / Y的情况,你想做X,最初所以你试过Y,因为它不起作用,你想知道如何修复Y.
对于您的初始问题:
vector<Personalidadbeta> personalidadbeta;
personalidadbeta.resize(Cantidad);
你可以像使用数组一样使用personalidadbeta
(即你可以personalidadbeta[index]
等等。
阅读http://www.cplusplus.com/reference/vector/vector/
这样做的众多优点之一是您不必手动释放内存。
这是另一个SO问题,类似于: