Error invalid types of int[int] for array subscript

Iniciado por Abril7, 25 Abril 2017, 22:30 PM

0 Miembros y 1 Visitante están viendo este tema.

Abril7

Hola, estoy intentando hacer que una funcion añada elementos dependiendo el numero de veces que el usario quiera, entonces hice un ciclo con un array pero me da error al tratar de pasar el parámetro del array, mi funcion (push) originalmente recive un int, no un array en si, quiza este es el problema, pero no lo se, alguien me puede decir por qué no funciona, o una alternativa, gracias.

Mi función push:

void push(struct node** head_ref, int new_data)

int number;
    int counter = 0;
    cout<<"How many elements do you want to add?"<<endl;
    cin>>number;
    int elements[number];

    for(int i=0;i<number;i++){
        cout<<"Add your elements: "<<endl;
        cin>>elements[i];
    }
    struct node *a = NULL;

    while(number != counter){
        counter++;
        push(&a, number[counter]); // Aquí me da el error
    }


MAFUS

Te lías con tus variables.

number es escalar, no un array, por eso el fallo. El array es element. ¿Acepta tu compilador arrays de tamaño variable (de tamaño definido entiempo de ejecución)?

Por otra parte entiendo que push da un tamaño inicial a un objeto si su puntero apunta a NULL.

Abril7

Oh no, me equivoqué de nombre eso era todo, uff que mal, muchas gracias!