Aiuto con un problema di conflittualità

di Anonimizzato11644 il
19 risposte
Ho un piccolo intoppo su un progetto che non mi riesce risolvere, mi potete aiutare???
In una funzione ho messo:
int fd;
struct Contatto *ContTestaRicerca;
char nome[20];
ContTestaRicerca = ricerca(nome, '1', fd);
e la funzione ricerca è:
struct Contatto* ricerca(char* nome, char* cScelta, int fd){

mi dice che c'è una conflittualità di tipi tra
ContTestaRicerca = ricerca(nome, '1', fd);
e
struct Contatto* ricerca(char* nome, char* cScelta, int fd){

ho provato anche a togliere char* cScelta e '1' per vedere se gli dava problemi quello ma non è quello!

qualcuno mi sa aiutare? grazie di cuore

Buon anno

19 Risposte

  • Char* cScelta è un puntatore a char, li stai passando un char e non un puntatore. o dedfinisci cScelta come char e non come char * oppure passali un puntatore come richiesto dalla funzione.
  • Io ho bisogno di passargli ContTestaRicerca = ricerca(nome, '1', fd);
    quindi nella funzione come posso scrivere?
    nome è una stringa e quindi ho bisogno char*
    '1' lo posso vedere anche come stringa e quindi di nuovo char*
    fd è un intero!

    quindi continuo a non capire il mio errore in
    struct Contatto* ricerca(char* nome, char* cScelta, int fd){

    scusa la mia ignoranza in materia ma è il mio primo progetto
  • '1' non è una stringa ma un carattere. "1" è una stringa. Vedi i doppi apici
  • Avevo già provato ma non va così
    l'errore che mi dice è in
    ContTestaRicerca = ricerca(nome, "1", fd);
    warning: assignment makes pointer from integer without a cast
    e qui
    struct Contatto* ricerca(char* nome, char* cScelta, int fd){
    mi dice:
    conflicting types for 'ricerca'
  • Puoi mettere i code tags? Se non sai cosa sono modifica il tuo messaggio e lo vedi tra i pulsanti. E' quello con scritto Code. Seleziona la parte del codice e poi premi quel pulsante.
  • Spero di aver fatto bene
  • Nella funzione Consulta hai già una stringa di un carattere chiamata cScelta
    
    char cScelta[1];
    
    Puoi utilizzare quella per la tua funzione ricerca
    ContTestaRicerca = ricerca(nome, cScelta, fd);
  • Ho fatto, mi da lo stesso errore
  • Allora non rimane altro che postare tutto il codice include , struct e main compresi.
  • Ok grazie mille
    lo faccio subito
  • In pratica devo gestire una rubrica telefonica, per il momento ho fatto la parte della consultazione
  • Il parametro scelta nella funzione ricerca é definito come int non char *
  • Scusa avevo fatto delle prove
    però il codice che ti mando ora ha già quello che mi hai detto nella funzione ricerca ma lo stesso mi da lo stesso problema!
  • In consulta ho provato anche a cambiare tipo a cScelta mettendo char* cScelta al posto di char cScelta[1] ma mi da lo stesso errore
Devi accedere o registrarti per scrivere nel forum
19 risposte