"Wenn FUNKTION .. dann" ausführen
-
MrNULL schrieb:
...
kann ich auch einfach "0" zurückgeben...Japp - das ist schon der richtige Weg !
Allerdings wird 0 vom if als "false" gewertet, Werte != 0 als "true".
Alternativ kannst Du auch bool statt int als Returntyp nehmen und "return true;" oder "return false;" ... das macht es etwas offensichtlicher.
Gruß,
Simon2.
-
WAS willst du genau?

MfG
-
// bool = Ja(true)/Nein(false)-Wert bool my_func (int x, int x2) // jedesmal xx als parameter geht nicht... { if( x == x2 ) // oder was auch immer { // Verloren return false; } return true; } ... if(my_func(...) == true) // kurz: if(my_func(...)) { // spiel geht weiter }Suchst du sowas?
MfG SideWinder
-
@SideWinder: ja sowas suche ich,aber bei mir kommen nur errors,sobald ich es entweder mit den Parametern schreibe oder ohne ... nichts von beiden geht

-
hi
bei meinem Quelltext kommt folgender Fehler:
1>x\funktion.h(16) : error C2065: 'foo': nichtdeklarierter Bezeichner
1>x\funktion.h(16) : error C2065: 'bar': nichtdeklarierter BezeichnerBei:
std::string foo_x(std::string foo) { foo = "Foo"; return foo; } std::string bar_x(std::string bar) { bar = "bar"; return bar; } std::string foo_bar(std::string bar_x(std::string bar), std::string foo_x(std::string foo)) { std::string sum = foo + bar; return sum; }Wieso nur das?
mfg
-
Bei "foo" und "bar" sind keine Datentypen angegeben. Sind es Strings?
z.Bsp.
std::string foo_x(std::string foo) { std::string foo = "Foo"; return foo; }
-
schwudde schrieb:
Bei "foo" und "bar" sind keine Datentypen angegeben. Sind es Strings?
z.Bsp.
std::string foo_x(std::string foo) { std::string foo = "Foo"; return foo; }hi
wie kann ich ..
std::string foo_x(std::string foo) { foo = "Foo"; return foo; } std::string bar_x(std::string bar) { bar = "bar"; return bar; } std::string foo_bar(std::string bar_x(std::string bar), std::string foo_x(std::string foo)) { std::string sum = foo + bar; return sum; }in ...
int main()richtig ausgeben?
bisher hab ich in der main nur folgendes stehen:int main() { std::string bar = "BAR", foo = "FOO"; std::string sum = foo_bar(bar_x(bar),foo_x(foo)); std::cout<<sum; std::cin.get(); return 0; }mfg

-
Also, ich bin auch Anfaenger aber versuch mal folgendes:
std::string foo_bar(std::string bar_x(std::string bar), std::string foo_x(std::string foo)) { std::string sum = foo + bar; return sum; } int main() { std::string bar = "BAR", foo = "FOO"; std::string s = foo_bar(bar, foo); std::cout<<s; std::cin.get(); return 0; }
-
???
Ich habe keinen Plan was du eigentlich machen willst, nur die starke Vermutung dass du genau 0.000 Plan von C++ oder vom Programmieren allgemein hast.Suchst du sowas?
std::string foo_x() { return "Foo"; } std::string bar_x() { return "bar"; } std::string foo_bar(std::string foo, std::string bar) { return foo + bar; } int main() { std::cout << foo_bar(foo_x(), bar_x()) << std::endl; return 0; }
-
schwudde schrieb:
Bei "foo" und "bar" sind keine Datentypen angegeben. ...
Sorry, aber das stimmt einfach nicht: foo und bar sind in MrNulls Source natürlich strings und das weiß der Compiler auch. Ich könnte mir höchstens vorstellen, dass er vorher schon Fehler bekommen hat, die ihn darauf hinweisen, dass er string nicht inkludiert hat...
MrNULL schrieb:
std::string foo_x(std::string foo) // Simon2: Genau HIER wird foo bekanntgemacht ! { foo = "Foo"; ...Gruß,
Simon2.
-
Erstmal: Die Parameter, die du foo_x() und bar_x() übergibst, sind technisch sinnlos, also kannst du sie auch weglassen.
Zweitens: Die Parameterliste von foo_bar() ist ein einziger Fehler - du versuchst der Funktion zwei Funktionen zu übergeben, was schonmal nicht geht (bestenfalls als Funktionszeiger, aber die sehen etwas anders aus). Und dann erwartest du, daß diese Funktionen sich wie Strings verhalten sollen.
(wie es besser wird, hat hustbaer schon vorgemacht)