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
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
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.