apropos standard
-
also ich hab da dieses programm, dass primzahlen zählt. alle bis 2^32. es funktioniert prima, solange ich nicht
[cpp]#include <iostream>
#include <cmath>
...bla...
using namespace std;
[/cpp]
benutze, dann hat es probleme die wurzel aus einem unsigned long int zu ziehenbenutze ich aber schön
#include <iostream.h>
passt es (wenn ich da das using namespace std; weglasse versteht sich).
bool test(ulong zhl) { zahlen[6545]=0; for (usint i=0; i<= 6542, zahlen[i]<=sqrt(zhl); i++) //<- da macht er stress { zahlen[6545]++; if ((zhl%zahlen[i])==0) { return false; } } return true; }
so. was soll das? ist da in cmath keine sone special funktion um die wurzel aus ulong zu ziehen?!?!
-
Morgen,
in wiefern macht es Probleme? Gibt es einen Compilererror? Eigentlich sollte
unsigned long problemlos in double konvertierbar sein (der Parameter von sqrt
ist allerdings signed).mfg
v R
-
ISt klar. es gibt dann ein std::sqrt(float), ein std::sqrt(double) und ein std::sqrt(long double). In welchen soll er wandeln? Kann er nicht wissen. Ist mehrdeutig.
-
er sagt:
"C:/primzahl.cpp: In function
bool test(long unsigned int)': C:/primzahl.cpp:78: call of overloaded
sqrt(ulong&)' is ambiguousC:/Dev-Cpp/include/math.h:163: candidates are: double sqrt(double)
C:/Dev-Cpp/include/c++/cmath:465: long double std::sqrt(long
double)C:/Dev-Cpp/include/c++/cmath:461: float std::sqrt(float)
Ausführung beendet"
warum geht es denn wenn ich nicht den namespace std nehme? und was soll ich machen damits trotzdem geht?
-
Hallo,
einen expliziten cast:
foo = sqrt(static_cast<double>(bar));
mfg
v R
-
Ist das eigentlich auch C++ oder C?
std::sqrt(0.0f);
?
MfG SideWinder
-
SideWinder schrieb:
Ist das eigentlich auch C++ oder C?
Wie meinst du das jetzt? sqrt ist Standard, sowohl in C als auch in C++.
-
Das 'f' hinter der Zahl, die daraus explizit einen float macht.
MfG SideWinder
-
Das gibts in beiden Sprachen.
-
Nö, std und :: gibts in C nicht
-
Bashar schrieb:
Nö, std und :: gibts in C nicht
MfG SideWinder
-
Um nochmal auf die Frage zurückzukommen:
SideWinder schrieb:
Ist das eigentlich auch C++ oder C?
std::sqrt(0.0f);
?
Der gezeigte Ausdruck ist C++, somit ist der eine Teil der Oder-Bedingung erfüllt. Somit lautet das Ergebnis: Ja.
-
LOL
-
Hört sich für mich mehr nach einem exklusiven Oder an.
Somit ist die Antwort "C++".
-
B r i a n schrieb:
Hört sich für mich mehr nach einem exklusiven Oder an.
Somit ist die Antwort "C++".MfG SideWinder
-
wenn wir fragen würden (OR C++ C) wär die Antwort C++ :p
-
Habt ihr eigentlich nichts zu tun? Hier werden ernste Fragen gestellt und ihr haltet euch an soner Kinderkacke auf
-
Stimmt, sinnloser ist nur noch, das zu kommentieren
oder zu meta-kommentieren