Seite 1 von 1

Tutorial - Funktionen

Verfasst: Di Mai 03, 2016 6:55 pm
von Berit
Hallo, ich brauch schon wieder Hilfe :-(
Ich bin jetzt im Tutorial bei Funktionen bzw. Prozduren.
Um die Variabel HowOften zu überprüfen gibt es bei mir (mit Code:blocks) schon beim Ursprungstext zwei Fehlermeldungen:
1. undefined refrence to 'WinMain@16'
2. error: ld returned 1 exit status
Ich kann leider mit keiner etwas anfangen :-(

PS Der Code ist aus dem Tutorial:

Code: Alles auswählen

void SayHello(int howOften)
{
    int i;
    for(i=0; i<howOften; i++)
   {
   if(i==5)
   return;
   printf ( "Hello\n");
   }
}
Edit by cloidnerux: Code-Tags

Re: Tutorial - Funktionen

Verfasst: Di Mai 03, 2016 7:20 pm
von cloidnerux
Hi,

jedes C/C++ Programm benötigt eine Funktion "main", die den Einstiegspunkt definiert. Der Compiler sucht diese Funktion, um eben das Programm dort zu starten.

Re: Tutorial - Funktionen

Verfasst: Di Mai 03, 2016 8:49 pm
von Berit
oh, vergessen :oops:
trotzdem kommt nicht raus was raus kommen solte :-( Stattdessen kommt die Fehlermeldung Funktionen.exe funktioniert nicht mehr und die Konsole spuckt folgendes aus: Process returned -1073741819 (0xC000005)
:-(

Re: Tutorial - Funktionen

Verfasst: Mi Mai 04, 2016 8:36 am
von Xin
Berit hat geschrieben:oh, vergessen :oops:
trotzdem kommt nicht raus was raus kommen solte :-( Stattdessen kommt die Fehlermeldung Funktionen.exe funktioniert nicht mehr und die Konsole spuckt folgendes aus: Process returned -1073741819 (0xC000005)
:-(
Es wäre gut, wenn Du den Quelltext zur Verfügung stellst. ^^

Ich gehe mal davon aus, dass Du aus SayHello einfach main gemacht hast und mir vorstellen, dass das undefiniertes Verhalten verursacht. Damit wir nicht raten müssen, wäre es von Vorteil Deinen Quelltext zu sehen :)

Re: Tutorial - Funktionen

Verfasst: Do Mai 05, 2016 5:42 pm
von Berit
Hier mein Quelltext:

Code: Alles auswählen

#include <stdio.h>

int main;

void SayHello(int howOften)
{
    int i;
    for(i=0; i<howOften; i++)
   {
   if(i==5)
   return;
   printf ( "Hello\n");
   }
}
und vielen Dank für ere Hilfe :-) :-) :-)

Edit by Xin: CodeTags eingefügt

Re: Tutorial - Funktionen

Verfasst: Do Mai 05, 2016 11:01 pm
von Xin
Jow... gut... :)

Nehmen wir an, dass Du weißt, dass die Funktion, mit der ein Programm startet grundsätzlich "main" heißt. Für mich sieht das so aus, als hättest Du irgendwas konstruiert, was Fehlermeldungen des Compilers ruhig stellt... und etwas gefunden, was den Linker überlistet.

Das erste, was Du tun solltest, ist aus ein main wieder eine gültige Funktion machen.
Darin beschreibst Du, welches Problem Du eigentlich lösen möchtest.

Dafür schaust Du Dir folgendes an: Parameter an main.
Oder am besten den kompletten C-Kurs. :)

Re: Tutorial - Funktionen

Verfasst: Fr Mai 06, 2016 5:44 pm
von Berit
Danke für die Hilfe :-)
Dann fange ich mit dem C-Tutorial noch mal von vorne an. Vielleicht habe ich was übersehen... :-)

Re: Tutorial - Funktionen

Verfasst: Fr Mai 06, 2016 6:19 pm
von Xin
Berit hat geschrieben:Danke für die Hilfe :-)
Dann fange ich mit dem C-Tutorial noch mal von vorne an. Vielleicht habe ich was übersehen... :-)
Der wichtigste Punkt ist vielleicht ganz einfach, dass das Programm bei main startet und Du von main aus Deine Funktionen aufrufen kannst.

Ich weiß nicht, ob das so explizit überdeutlich im Tutorial drinsteht - es ist manchmal schwierig die Anfängerfragen alle vorherzusehen, wenn sich einem selbst diese Fragen nicht mehr stellen. ;)

Du brauchst also eine main-Funktion, die den Standards für main entspricht und die dann Deine SayHello-Funktion kontrolliert aufruft.