Hoch 7
-
Hallo,
ich verwende für sowas std::pow aus <cmath>. Andere schreiben sich dafür selbst einen Algorithmus.
-
wie mus ich dieses pow deklarieren oder bekannt machen.. er scheint die funktion so nicht zu erkennen
-
du musst cmath includieren
-
gut gut.. nun muss die eine zahl eine variable sein.. was so aber nicht zu gehen scheint
hoch = pow(2,Klaus);
-
geht hoch = std::pow(2,Klaus); ?
-
Die Variable muss vom Typ double sein.
-
Nö, muss nur implizit nach double konvertierbar sein.
-
ja bin ich blind? ich find den fehler nicht und es geht auch nicht
#include<iostream> #include<string> #include<cmath> using namespace std; string KD_dual; double hoch,zeischen; extern string keyD(double KD_zahl,double KD_stellen) { hoch = pow(2,zeischen); return KD_dual; }
Fehlermeldung: 'pow' 7 Überladungen haben ähnliche konvertierung
-
bei mir kompiliert er das ohne Fehler (Dev-cpp mit MinGW).
-
aja.. ok.. murks.... ich versuch das morgen nochma.. danke leute für die hilfe
-
Fehlermeldung: 'pow' 7 Überladungen haben ähnliche konvertierung
Wahrscheinlich verwendet deine Implementation ein Template mit nur einem Template-Parameter
Sprich sowas in der Art:template <class T> T pow(T, T);
In diesem Fall wäre die Fehlermeldung logisch. Du übergibst ein int und ein double also ist die Herleitung von T mehrdeutig (T kann nicht gleichzeitig int und double sein). Die Lösung wäre in diesem Fall auch einfach:
hoch = pow(2.0,zeischen);
-
BINGO
Du bist der MANN des TAGES.. es stimmt!!!!!!!
ES Läuft... danke
MfG .. Conner
-
aa Problem...
KD_stellen=10; zwischen=KD_stellen-1; hoch = pow(2.0,zwischen);
da muss eigentlich 512 rauskommen, aber in der variablen hoch steht dann über 500000... da is ein rechenfehler... er kommt mit der variable zwischen nicht klar, wenn ich eine 9 an der stelle der variable schreibe geht es
was ist der Fehler?
-
zeig mal mehr Code mit deiner Funktion.
-
da gibts nicht mehr....
-
ok.. nicht weiter drüber nachdenken.. der Fehler leigt wo anders.. ich mus ihn nur noch finden... sorry