Sono nuovo al C++ e non riesco a capire come risolvere l'errore, apprezzerei molto il tuo aiuto La parte in cui si verifica l'errore cercando di inserire il raggio nell'array cirArea[]
, ma non sembra funzionare.Il tipo di base di riferimento "double" non è una struttura o unione
Ecco una parte del mio codice:
int main(){
Circle *area;
double cirRadius;
int numCircle;
cout << "How many circles?" << endl;
cin >> numCircle;
double cirArea[numCircle];
for (int i = 0; i < numCircle; i++){
cout << "Enter the radius: ";
cin >> cirRadius;
cirArea[i].setRadius(cirRadius);
}
}
Per setRadius():
void Circle::setRadius(double r){
if (r >= 0)
radius = r;
else {
cout << "Invalid radius\n";
exit(EXIT_FAILURE);
}
}
quindi ecco l'errore:
member reference base type 'double' is not a structure or union
cirArea[i].setRadius(cirRadius);
~~~~~~~~~~^~~~~~~~~~
Dal momento che è C++ taggato andrei con std :: vector piuttosto che array dinamici –
Lo so :) Stavo semplicemente modificando questa risposta ma non potevo farlo più velocemente. Per favore controlla le mie modifiche - dovrebbe andare bene. – Patryk