‘(‘ per tipo di funzione o errore Xcode del tipo di costruzione

This is where I get error: calcScore(double score1,double score2, double score3, double score4, double score5); 

ecco il mio codice, non so come correggere l’errore; Non sono sicuro di cosa significhi l’errore. Ho provato a guardare gli esempi nei libri di testo e online ma sono ancora confuso; questo è il primo incarico in cui dobbiamo usare la funzione

 #include  using namespace std; void getJudgesData(); void calcScore(); int main() { double scoreAverage=-9; double score1=-9.0; double score2=-9.0; double score3=-9.0; double score4=-9.0; double score5=-9.0; getJudgesData(); calcScore(double score1,double score2, double score3, double score4, double score5); return 0; } // getJudgesData Program void getJudgesData(double &score1, double &score2, double &score3, double &score4, double &score5) { do { cout <> score1; do { if (score1 10) { cout << "Score has to range from 0-10 \n"; cout <> score1; } }while (score110); } while (score110); do { cout <> score2; do { if (score2 10) { cout << "Score has to range from 0-10 \n"; cout<> score2; } }while (score2 10); } while (score210); do { cout <> score3; do { if (score3 10) { cout << "Score has to range from 0-10 \n"; cout <> score3; } }while (score3 10); } while (score310); do { cout <> score4; do { if (score4 10) { cout << "Score has to range from 0-10 \n"; cout <> score4; } }while (score4 10); } while (score410); do { cout <> score5; do { if (score5 10) { cout << "Score has to range from 0-10 \n"; cout <> score5; } }while (score5 10); } while (score510); return; } //Start of calcScore void calcScore( double score1, double score2, double score3, double score4,double score5) { double average; average = (score1+score2+score3+score4+score5)/ 5; return; } 

Affrontiamo innanzitutto il tuo errore: come @ shree.pat18 fa notare nei commenti, stai chiamando una funzione e stai cercando di dare il tipo dei parametri. Questo non è permesso. C ++ conosce il tipo dei parametri perché li hai dichiarati in precedenza. Puoi chiamare calcScore modo:

 double score1=-9.0; double score2=-9.0; double score3=-9.0; double score4=-9.0; double score5=-9.0; getJudgesData(); calcScore(score1, score2, score3, score4, score5); 

Tuttavia, questo ti porta a un nuovo problema: al momento della compilazione, il compilatore non conosce una funzione chiamata calcScore che prende 5 parametri di tipo double .

Stai dichiarando due funzioni chiamate calcScore : una è semplicemente dichiarata e non definita senza parametri, l’altra è dichiarata e definita con parametri:

 // just a declaration. This function has no definition and will not link void calcScore(); 

e

 // declared and defined void calcScore( double score1, double score2, double score3, double score4,double score5) { } 

È ansible rimuovere la prima dichiarazione di calcScore poiché presumo che non sia necessario entrambi e modificarlo per essere:

 void calcScore(double score1, double score2, double score3, double score4, double score5); 

Ora, quando provi a invocare calcScore e passa 5 double all’interno del tuo main , il compilatore saprà a quale funzione ti stai riferendo.