Errore di compilazione?

di il
3 risposte

Errore di compilazione?

Secondo voi, in questo pezzo di codice nella riga 7, perché non viene un errore di compilazione. Se la funzione è di tipo int quindi ritorna un numero e non può essere chiamata in quel modo. invece se la funzione fosse di tipo void e si provasse a stamparla subito uscirebbe un errore di compilazione.


include <iostream>
using namespace std;
int boxvolume(int=1,int=1,int=1);
int main(){
double volume=0;
cout<< boxvolume();
boxvolume(1,2,3);
cout<<volume<<endl;
return 0;
}
int boxvolume(int l,int w, int h){
return l*w*h;
}

3 Risposte

  • Re: Errore di compilazione?

    Premesso che non sono esperto di C++, molto probabilimente esiste un overload dell'operatore << che accetta degli interi anzichè stringhe.
  • Re: Errore di compilazione?

    Intendi la chiamata boxvolume(1,2,3)? Può essere chiamata in quel modo. Non sei obbligato a usare il valore di ritorno.
    Anche la precedente chiamata "cout<<" restituisce in valore, anche se non lo hai catturato.

    PS: quando scrivi codice sul forum, selezionalo tutto e premi il tasto "</>" per visualizzarlo
    così
  • Re: Errore di compilazione?

    Non è obbligatorio utilizzare il valore restituito da una funzione, neanche in C. Quindi puoi chiamarla in quel modo.

    Ovviamente, nel caso di una void, è illegale visualizzare un valore di ritorno perché esplicitamente indicato come non esistente.
Devi accedere o registrarti per scrivere nel forum
3 risposte