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?


  • Mod

    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); 
    };
    

Anmelden zum Antworten