Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    142

    [C] Passaggio per riferimento ed errore di cast

    ciao a tutti, ho un problema

    ho creato una funzione del tipo:

    void prova(*pippo)

    questa funzione nel main la vado a richiamare 2 volte..

    una volta

    prova(&pippo);

    e un'altra volta

    prova(1);

    quando la chiamo mettendo direttamente il valore 1, mi da un warning
    [Warning] passing arg 2 of `prova' makes pointer from integer without a cast

    il prog parte uguale ma vorrei evitare se possibile questo warning... come posso fare?

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Esplicita il cast.
    prova( (pippo*) 1);

    (Non rispondo di danni collaterali)
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  3. #3

    Re: [C] Passaggio per riferimento ed errore di cast

    Originariamente inviato da atomico
    ciao a tutti, ho un problema

    ho creato una funzione del tipo:

    void prova(*pippo)
    strano che riesca a compilare.

  4. #4
    È ovvio che la seconda volta ti dia un warning. La funzione prende in input un puntatore (cioè un indirizzo) e, quando la richiami nel main, la prima volta funziona perché le passi l'inidirizzo della variabile "pippo" ma la seconda no perché gli stai passando un valore (1, in questo caso).

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.