Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Abril7 en 25 Abril 2017, 22:30 pm



Título: Error invalid types of int[int] for array subscript
Publicado por: Abril7 en 25 Abril 2017, 22:30 pm
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)

Código:
 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
    }


Título: Re: Error invalid types of int[int] for array subscript
Publicado por: MAFUS en 25 Abril 2017, 22:49 pm
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.


Título: Re: Error invalid types of int[int] for array subscript
Publicado por: Abril7 en 25 Abril 2017, 23:20 pm
Oh no, me equivoqué de nombre eso era todo, uff que mal, muchas gracias!