Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    38

    [c]--Errore con chiamata a funzione

    Ciao a tutti durante il compiler mi va in errore la seguente istruzione:
    aggiunta(Array, Buffer, &NumStringa);

    l'errore che mi viene riportato è il seguente:
    cannot convert `char**' to `char*' for argument `1' to `void aggiunta(char*, char*, int*)'

    le variabili che uso sono rispettivamente dichiarate come :
    int NumStringa
    char *Array[NumStringa], Buffer[MAXLUNG+1];

    mentre i prototipi di funzione:
    void aggiunta(char *, char *, int *);

    Da che cosa dipende l' errore?
    Grazie a tutti!!!

  2. #2
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565
    Gli stai passando una matrice, mentre la funzione richiede un vettore
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    38

    RISP.

    Ciao Wolverine,
    ma io gli sto passando un array di stringhe, una stringa ed un intero per riferimento!
    come fa a leggere una matrice?
    Grazie!!!

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Gli stai passando un array di puntatori a char e non un array di char.

    Dovresti scrivere

    void aggiunta(char **, char *, int *);
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    38
    Giustissimo mi è sfuggito questo piccolissimo concetto, grazie mille!!!

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    38
    Scusate per l' inconveniente del thread!!!

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    38
    Sono ancora io...
    ho un altro problemino...

    faccio questa chiamata di funzione:
    esito = colorePrestabilito(arrColori, p1.colore, &indice);

    dove arrColori è dichiarato come char *arrColori[] = {"bianco", "rosso", "giallo", "celeste", "blu", "NERO"};

    p1.colore è un elemento di una structure e indice è stato dichiarato come puntatore ad intero e lo passo per indirizzo poiche nella stessa dovrò modificarlo.

    la definizione per questa funzione è: int colorePrestabilito(char **, char *, int *);

    l' errore che mi viene restituito durante il compile è :62 D:\Documenti\Università\Tecniche di Programmazione\Esercizi\DISTANZE.cpp cannot convert `int**' to `int*' for argument `3' to `int colorePrestabilito(char**, char*, int*)'

    potete aiutarmi...grazie mille!!!

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    38
    ragazzi, mea culpa non sono così ignorante...ho dichiarato un puntatore di troppo...
    l' intero indice viene passato alla function come puntatore in ma nel main non deve essere dihiarato puntatore...GRAZIE lo stesso a tutti!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.