Funzioni

di il
4 risposte

Funzioni

#include <cstdlib>
#include <iostream>


using namespace std;

int main(int argc, char *argv[])
{
    int a,b,c;
    cout<<"Inserisci due numeri";
    cin>>a>>b>>c;
    cout<<"Il massimo e' :  "<<max (a,b,c) <<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}
int max (int q ,int w , int e) {
    int h=q;
    if(w>q) {
            h=w;
            }
            if(e>q) {
                    h=e;
                    }
            return h;
            }
ragazzi mi dice errore in cout<<"Il massimo e' : "<<max (a,b,c) <<endl; mi sapreste dire il perchè?

4 Risposte

  • Re: Funzioni

    Manca il prototipo prima del main()
  • Re: Funzioni

    Scusate se rompo il prototipo cosa è di preciso ?
  • Re: Funzioni

    E' il modo in cui è dichiarata la funzione e serve al compilatore per confrontare se quello che dichiari poi lo sviluppi.
    Nel tuo caso il protipo è:
    
    int max (int q ,int w , int e);
    
    e deve essere presente *prima* del codice dove viene invocata la funzione. Se tu avessi messo prima lo sviluppo della funzione - max() - e poi il main(), il compilatore avrebbe saputo subito com'era fatta. Dal momento che - max()- l'hai sviluppata dopo il main(), il compilatore non dispone di questa informazione, quindi da errore. Per evitarlo, basta mettere il prototipo (senza lo sviluppo) prima del main().
    Se invece metti il prototipo, ma poi dimentichi lo sviluppo avrai un errore di link.
  • Re: Funzioni

    Grazie infatti era quello ... Proprio ieri sera sul un libro che stavo leggendo parlava di errori comuni come che non si dichiara i prototipi
Devi accedere o registrarti per scrivere nel forum
4 risposte