C++ Hilfe " Funktionen ( int )"

04/20/2011 22:20 Norbert8#1
Könnt ihr mir bitte mal was ganz genau erläutern!
Quote:
#include <iostream>
#include <string>
using namespace std;

// Deklaration & Defination
int func( int iV1, int iV2 )
{
return( iV1 + iV2 );
}

int main()
{
int Ergebnis = func( 10, 15 );
cout << Ergebnis << endl;

system("Pause");
return 0;
}
Bei dem roten, warum muss ich noch mal eine Variable erstellen??
ich rufe doch func( 10, 15); schon auf!!

und func() ist doch eine int

Würde mir jemand bitte das rote ganz genau erklären.

Ich DANKE euch. :)
04/20/2011 22:29 Akorn#2
Quote:
Originally Posted by Norbert8 View Post
Könnt ihr mir bitte mal was ganz genau erläutern!


Bei dem roten, warum muss ich noch mal eine Variable erstellen??
ich rufe doch func(); schon auf!!

und func() ist doch eine int

Würde mir jemand bitte das rote ganz genau erklären.

Ich DANKE euch. :)
Quote:
int func( int iV1, int iV2 )
Du erstellst nur eine variable als interger nämich die Variable Ergebnis.
Das int vor func gibt nur an das der Rückgabewert also ( iV1 + iV2 ) als Interger wert übergeben wird
04/20/2011 22:36 MrSm!th#3
Du musst da übrigens keine Variable erstellen,
Code:
cout << func(10,15) << endl;
würde genau so gehen.
04/20/2011 23:29 Norbert8#4
Quote:
Originally Posted by Akorn View Post
Du erstellst nur eine variable als interger nämich die Variable Ergebnis.
Das int vor func gibt nur an das der Rückgabewert also ( iV1 + iV2 ) als Interger wert übergeben wird
okay, der rückgabewert ist ( int ) also eine Zahl, das stimmt?!

aber wenn ich mir ( int main ) anschaue, dann muss das doch auch eine zahl zurück kommen oder nicht??
04/21/2011 01:00 Akorn#5
Ja auch die Main funktion hat einen rückgabewert. Der enthält den Fehlercode also wen das pogramm ohne probleme lief ist er 0 ansonsten enthält er eine entsprechende fehlernummer.
04/21/2011 01:13 Norbert8#6
Quote:
Originally Posted by Akorn View Post
Ja auch die Main funktion hat einen rückgabewert. Der enthält den Fehlercode also wen das pogramm ohne probleme lief ist er 0 ansonsten enthält er eine entsprechende fehlernummer.
achso. okay :)
Das gibt jetzt sinn, warum bei jeden namen immer ein int davor steht. ^^

also kann man auch sagen, main ist true oder false, also 1 oder 0 oder??

also wenn der code richtig ist z.B

#include <iostream>
using namespace std;

int main()
{
cout << "Hallo Welt" << endl;

return 0;
}

rückgabewert = 1; oder ??
04/21/2011 01:22 MrSm!th#7
Nicht ganz, die main gibt einen Fehlerwert zurück, wobei 0 für Erfolg steht.
0 entspricht aber false, was ja bei den meisten Funktionen für Fehlschlag steht, deshalb kannst du es nicht 1:1 auf true/false übertragen.

Außerdem steht dort in deinem code (nutze bitte am besten die code Tags ;O)
Code:
return 0;
, von daher ist der Rückgabewert auch 0, also keine Fehler (was bei einem Hello World auch normal ist :D)
04/21/2011 01:29 Norbert8#8
Quote:
#include <iostream>
using namespace std;

void func() // int ??
{
cout << "Hallo Welt" << endl;
}

int main()
{
func();

system("Pause");
return 0;
}
void = kein Typ!

Aber der code sollte doch true sein, warum muss ich denn eine void erstellen??
04/21/2011 07:12 HardCore.1337#9
wenn du true haben willst mach es sp

Code:
bool func()
{
  return false;
  cout << "kjfkgjkl";
  return true;
}

int main()
{
  if(func())
  {
      ... 
  }
}
04/21/2011 10:26 MrSm!th#10
Quote:
Originally Posted by Norbert8 View Post
void = kein Typ!

Aber der code sollte doch true sein, warum muss ich denn eine void erstellen??
Wie kommst du auf true? Bei solchen Funktionen, die nur etwas ausführen sollen, bei denen aber nicht wirklich was schiefgehen kann, braucht man normalerweise keinen Rückgabetyp. Genau dafür gibt es ja void!
Wenn du also nicht die Aufgabe hast, dass func true zurückgeben soll, kannst du den Code so lassen, es muss ja nicht jede Funktion true oder false zurückgeben (wie gesagt, es gibt ja noch andere Rückgabetypen, wie zb. int).