[c++]Problema puntatori a struct
  • In diretta da GamesVillage.it
    • News
    • -
    • In Evidenza
    • -
    • Recensioni
    • -
    • RetroGaming
    • -
    • Anteprime
    • -
    • Video
    • -
    • Cinema

Visualizzazione risultati da 1 a 8 di 8

Discussione: [c++]Problema puntatori a struct

Cambio titolo
  1. #1
    Utente L'avatar di irgho
    Registrato il
    02-05
    Località
    Sant'Anastasia (NA)
    Messaggi
    3.964

    [c++]Problema puntatori a struct

    salve è la seconda volta che faccio lo stesso errore ma non ricordo dove sbaglio
    dovrei allocare un vettore di puntatori a record e farmi restuire un puntatore al primo elemento del vettore

    questa è la funzione che da errore

    Codice:
    P crea_magazzino(Magazzino m,P & p, int & num){
                               cout<<"******Inizializzazione magazzino******"<<endl;
                               cout<<"Specificare dimensione: ";
                               cin>>num;
                           1)    m=new Magazzino[num];
                               cout<<"\n......Archivio Inizializzato."<<endl;
                               for (int i=0;i<num;i++){
                                  *(m+i)=crea_prodotto(p);
                                   }
                               }
    le definizioni sono queste

    Codice:
    typedef Prod* P;
    
    typedef P Magazzino[dim];
    prod è una struct


    l'errore è questo:

    1) cannot convert `Prod* (*)[50]' to `Prod**' in assignment

    grazie in anticipo
    Ultima modifica di irgho; 29-10-2009 alle 09:29:21

  2. #2
    Utente L'avatar di devilheart
    Registrato il
    01-03
    Messaggi
    28.310
    servirebbe tutto il codice e la riga esatta dell'errore ma a naso direi che il problema è la new. stai assegnando ad un oggetto di tipo Magazzino un puntatore ad array

  3. #3
    Utente L'avatar di irgho
    Registrato il
    02-05
    Località
    Sant'Anastasia (NA)
    Messaggi
    3.964
    Citazione devilheart Visualizza Messaggio
    servirebbe tutto il codice e la riga esatta dell'errore ma a naso direi che il problema è la new. stai assegnando ad un oggetto di tipo Magazzino un puntatore ad array
    ho postato il codice interessato e le definizioni che altro serve?

    il problema è la new l'ho evidenziato mettendo il numero davanti alla riga di codice

    il magazzino inoltre l'ho definito di tipo P che è un puntatore ad array

  4. #4
    Utente L'avatar di devilheart
    Registrato il
    01-03
    Messaggi
    28.310
    tu hai definito P come sinonimo di prod* e Magazzino[dim] come sinonimo di P

  5. #5
    Utente L'avatar di irgho
    Registrato il
    02-05
    Località
    Sant'Anastasia (NA)
    Messaggi
    3.964
    Citazione devilheart Visualizza Messaggio
    tu hai definito P come sinonimo di prod* e Magazzino[dim] come sinonimo di P
    si, ho definito P come tipo puntatore a record, successivamente ho definito l'array magazzino[dim] come vettore contenente elementi di tipo P

    scusa se invece di record fossero stati interi sarebbe stato

    Codice:
    typedef int* P
    typedef P Vett[dim]
    no?

  6. #6
    Utente L'avatar di devilheart
    Registrato il
    01-03
    Messaggi
    28.310
    se fai così è Vett[dim] ad essere come P, non viceversa. non so quanto corretto possa essere

  7. #7
    MisterJack
    Ospite
    A me quella new puzza, perché m è un oggetto locale.


    MJ

  8. #8
    Utente L'avatar di irgho
    Registrato il
    02-05
    Località
    Sant'Anastasia (NA)
    Messaggi
    3.964
    Citazione MisterJack Visualizza Messaggio
    A me quella new puzza, perché m è un oggetto locale.


    MJ
    non capisco cosa c'entri

    o forse non ho capito cosa intendi

Regole di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •