Funktion ist kein Element von Klasse
-
Guten Tag,
ich habe folgendes Problem welches ich verzweifelt zu lösen versuche:
Ich möchte der Klasse Calculation Funktionen geben, sum, sub, pro und quo.
Jedoch kommt diese Fehlermeldung(en):
"Funktionsname": Ist kein Element von "Calculation"Beispiel: "sum": Ist kein Element von "Calculation"
Wo der Fehler?
#include<iostream> #include<string> #include<vector> class Calculation { double erg{ NULL }; std::vector<double> numbers; public: Calculation() { std::cout << "\nNew Calculation\n" << std::endl; double sum(double, double); double sub(double, double); double pro(double, double); double quo(double, double); void set_values(double); } }; void Calculation::set_values(double x) { numbers.pushback(x); } double Calculation::sum(double x, double y) { double sum{ x + y }; return sum; } double Calculation::sub(double x, double y) { double sub{ x - y }; return sub; } double Calculation::pro(double x, double y) { double product{ x*y }; return product; } double Calculation::quo(double x, double y) { double quotient{ x / y }; return quotient; } int main() { std::cout << "Hello World, this is a Calculator for easy Calculations" << std::endl; Calculation calc1; std::cout<<calc1.sum(6,4)<<std::endl; std::system("PAUSE"); return 0; }
Freue mich auf Antworten
-
Wo ist die schließende } deines Konstruktors?
-
Deine Deklarationen sind im Rumpf des Konstruktors - lokal.
class Calculation { double erg{ NULL }; std::vector<double> numbers; public: Calculation() { std::cout << "\nNew Calculation\n" << std::endl; } // <<<--- Hier muss die Klammer hin double sum(double, double); double sub(double, double); double pro(double, double); double quo(double, double); void set_values(double); };