Error sqrt was not declared in this scope



  • Hallo allerseits, bin gerade am c++ lernen und kurz vorm Verzweifeln 🙂

    Hier mal mein Code:

    // Einfaches Programm zum Ausprobieren von Operationen
    #include "../../std_lib_facilities.h"
    int main()
    {
    	cout << "Geben Sie einen Gleitkommawert ein: ";
    	double n;
    	cin >> n;
    	cout << "n == " << n
    	<< "\nn+1 == " << n+1
    	<< "\ndreimal n == " << 3*n
    	<< "\nzweimal n == " << n+n
    	<< "\nn zum Quadrat == " << n*n
    	<< "\nHaelfte von n == " << n/2
    	<< "\nWurzel von n == " << sqrt(n)
    	<< endl; // ein anderer Name für Zeilenumbruch ("end of line")
    }
    

    Erhalte folgende Fehlermeldung:
    sqrt was not declared in this scope
    Bin für eine Hilfestellung sehr dankbar. 👍



  • Zur Vollständigkeit hier noch meine header includierung:

    //
    // Der vorliegende Code dient zur Unterstuetzung der Beispiele aus dem Buch
    // "Einfuehrung in die Programmierung mit C++" von Bjarne Stroustrup
    //
    
    #ifndef STD_LIB_FACILITIES_GUARD
    #define STD_LIB_FACILITIES_GUARD 1
    
    #include <iostream>
    
    using namespace std;
    
    //------------------------------------------------------------------------------
    
    // Auf manchen Windows-Maschinen muss keep_window_open()  aufgerufen werden,
    // um zu verhindern, dass Windows das Fenster schlie�t, bevor Sie eine Chance hatten,
    // die Ausgabe zu lesen.
    inline void keep_window_open()
    {
        cin.get();
    }
    
    //------------------------------------------------------------------------------
    
    #endif // STD_LIB_FACILITIES_GUARD
    


  • Sorry Doppelpost



  • dir fehlt das

    #include <cmath>
    


  • Dankeschön werde ich mal googeln. Ist nur etwas blöd das ich Aufgaben lösen soll obwohl dieses cmath noch nicht im Buch behandelt wurde. Habe das Buch Einführung in die Programmierung mit C++ von Bjarne Stroustrup dem Erfinder von C++.



  • Das steht im Kapitel 2.5 Punkt 2 (Seite 89) - zumindest nach Google-Books.

    Dein Beispiel ist von Seite 101.

    Also hast du nicht gründlich gelesen 😉
    Oder nicht verstanden was da steht. Einmal durchlesen reicht nicht.



  • 000ooo000 schrieb:

    Dankeschön werde ich mal googeln. Ist nur etwas blöd das ich Aufgaben lösen soll obwohl dieses cmath noch nicht im Buch behandelt wurde. Habe das Buch Einführung in die Programmierung mit C++ von Bjarne Stroustrup dem Erfinder von C++.

    Der std_lib_facilities.h Header sieht etwas kastriert aus.
    Versuch mal diesen: http://www.stroustrup.com/Programming/std_lib_facilities.h

    Bonne chance!



  • [quote="Furble Wurble"]

    000ooo000 schrieb:

    Der std_lib_facilities.h Header sieht etwas kastriert aus.
    Versuch mal diesen: http://www.stroustrup.com/Programming/std_lib_facilities.h

    Bonne chance!

    Schönes Beispiel! Stroustrup schreibt:

    T& operator[](unsigned int i) // rather than return at(i);
    	{
    		if (i<0||this->size()<=i) throw Range_error(i);
    		return std::vector<T>::operator[](i);
    

    i < 0 ?????


  • Mod

    trutschig schrieb:

    i < 0 ?????

    Robust gegen Typänderungen programmiert. Und gegen Universen mit anderer Mathematik 🙂 .



  • Furble Wurble schrieb:

    Der std_lib_facilities.h Header sieht etwas kastriert aus.
    Versuch mal diesen: http://www.stroustrup.com/Programming/std_lib_facilities.h

    Ich habe tatsächlich die falsche std_lib_facilities.h aus vorherigem Kapitel genommen. Bin davon ausgegangen, dass sie immer gleich ist. Diese wird ja im Buch erst später behandelt.
    Herzlichen Dank an alle für die freundliche Unterstützung 🙂



  • Furble Wurble schrieb:

    Der std_lib_facilities.h Header sieht etwas kastriert aus.
    Versuch mal diesen: http://www.stroustrup.com/Programming/std_lib_facilities.h

    Ich habe tatsächlich die falsche std_lib_facilities.h aus vorherigem Kapitel genommen. Bin davon ausgegangen, dass sie immer gleich ist. Diese wird ja im Buch erst später behandelt.
    Herzlichen Dank an alle für die freundliche Unterstützung 🙂


Anmelden zum Antworten