Puis-je savoir ce qui ne va pas avec les codes? après exécution, je reçois cette erreur p> Erreur: Aucune fonction de correspondance pour appeler 'Véhicule :: SETPRICE ()' | P>
blockQuote> p>
4 Réponses :
cout << "Used car price is $" << usedCar.setPrice(); this line makes errorsreturn type of setPrice() is voidyou should make things like Vehicle::getPrice() to get value of Price.
Bien que ce soit un bogue dans le code, ce n'est pas l'erreur de poser une erreur.
SetPrice prend un double comme paramètre mais vous l'avez appelé sans paramètre de sorte que la signature de fonction ne correspond pas. p> p>
Je vois quelques points faux:
#include <iostream>
class Vehicle
{
private:
double price = 0;
public:
double getPrice() const
{
return price;
}
void setPrice(double p)
{
price = p;
}
double comparePrices(const Vehicle&);
};
double Vehicle::comparePrices(const Vehicle& other)
{
return price - other.price;
}
int main()
{
Vehicle newCar, usedCar;
double price, diff;
newCar.setPrice(38000);
std::cout << "Enter the price for the used car: ";
std::cin >> price;
usedCar.setPrice(price);
diff = newCar.comparePrices(usedCar);
std::cout << "Used car price is $" << usedCar.getPrice();
std::cout << ", the difference is $" << diff << std::endl;
return 0;
}
COUT << "Prix de la voiture d'occasion est $" << UsedCar.Seprice (); P>
Au lieu de cela, ajoutez simplement une méthode Accessor GETPRICE () cela vient de retourner le prix de la voiture. Cela devrait fonctionner alors. SetPrice () nécessite un paramètre à transmettre, mais vous ne leur donnez rien quand vous le coutez. P>
SetPrice CODE> nécessite une valeur fournie.VOI VOIPRICE (** Double P **) CODE> Notez qu'il renvoie égalementvide code>. Vous ne pouvez pas envoyervoid code> àcout code>. Voulez-vous avoir une méthode code> getprice code>?Puis-je savoir ce qui ne va pas avec les codes? I> - C'est illisible car il n'est pas correctement indenté?
@Swordfish mieux?
@ user4581301 oui, maintenant c'est mieux.
Je ne m'attendrais pas à
Véhicule :: Comparez-les () Code> Pour demander une entrée utilisateur. Ce devrait être une fonction libre. Lorsque c'est membre, je m'attendrais à ce qu'il comparait le prix d'une voiture fournie comme argument au prix de la voiture que la fonction est appelée.