Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: AnttiLehtinen - 05.05.07 - klo:20.18
-
Eli seuraava ongelma ilmeni anjuta ei löydä/tunnista math kirjastoa
#include <math>
Tätä pitäisi käsittääkseni käyttää jotta saisin sqrt() komennon käyttöön.
Onko vinkkejä moisen korjaamiseksi?
Kiitos taas kerran avustanne :) Ilman sitä hommani ei etenisi lainkaan :)
-
Kieli näyttäisi olevan C++. Nykyaikaisessa C++:ssa standardikirjastojen (ei .h-päätettä, esim. iostream ja math) tavarat on sijoitettu std-nimiavaruuteen. Neliöjuuren saa siten komennolla
std::sqrt(x);
Tai sitten voit ottaa käyttöön std-nimiavaruuden kokonaan tai std-avaruudesta sqrt-funktion (lähdekooditiedoston alussa):
using namespace std; // Kaikkia std:n kamat
using std::sqrt; // Pelkkä neliöjuurifunktio
-
Käytössä on pelkkä
#include <math>
ja
using namespace std;
Mutta ei toimi, mikä avuksi?
std::sqrt();
käyttäminen sanoo että
"sqrt" is not a member of "std"
-
Äh, unohdin... eli C++:ssa on math-kirjasto sisällytettävä komennolla
#include <cmath>
Tämä siksi, että math.h on alunperin C:n kirjasto, joka on "muutettu" C++:lle asettamalla funktiot std-nimiavaruuteen. Samalla tiedostonimen eteen on lisätty c.