Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    56

    [c]puntatori a funzioni come parametri

    mi sembra di aver capito che nei parametri di una funzione posso passare un puntatore alla funzione e non la funzione vera e propria potete confermare?
    cortesemente potete darmi una mano
    codice:
    #include <stdio.h>
    int somma(int x,int y);
    int espressione(int k,int (*f_s)(int t,int r));
    int main()
    {
     int a=0;
     int b=0;
     int c=0; 
     a=3;
     b=2;
     c=5;
     int(*f_s)(int x,int y);
     f_s=&somma;
     printf("%d",espressione(c,(*f_s)(a,b)));              //primo W
     getchar();
      return 0;
    }
    int somma(int x,int y)
    {
        return x+y;
    }
    int espressione(int k,int(*Pfunz)(int u,int w))
    { 
        return k+(*Pfunz);                                        //secondo W
    }
    ricevo
    [Warning] passing arg 2 of `espressione' makes pointer from integer without a cast
    [Warning] return makes integer from pointer without a cast

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472

    Re: [c]puntatori a funzioni come parametri

    Originariamente inviato da jc74
    mi sembra di aver capito che nei parametri di una funzione posso passare un puntatore alla funzione e non la funzione vera e propria potete confermare?
    Certo

    Dovrebbe essere

    codice:
    int somma(int x, int y);
    int espressione(int k, int a, int b, int (*f_s)(int, int));
    
    int main()
    {
    	int a=0;
    	int b=0;
    	int c=0; 
    	a=3;
    	b=2;
    	c=5;
    	printf("%d", espressione(c, a, b, &somma));           
    	getchar();
    	return 0;
    }
    
    int somma(int x,int y)
    {
        return x+y;
    }
    
    int espressione(int k, int a, int b, int(*Pfunz)(int, int))
    { 
        return k+(*Pfunz)(a, b);                              
    }
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    56
    velocissimo!! grazie OREGON

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.