Tutorial - Funktionen

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
Berit
Beiträge: 11
Registriert: Sa Apr 02, 2016 8:32 pm

Tutorial - Funktionen

Beitrag von Berit » Di Mai 03, 2016 6:55 pm

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

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Tutorial - Funktionen

Beitrag von cloidnerux » Di Mai 03, 2016 7:20 pm

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.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Berit
Beiträge: 11
Registriert: Sa Apr 02, 2016 8:32 pm

Re: Tutorial - Funktionen

Beitrag von Berit » Di Mai 03, 2016 8:49 pm

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)
:-(

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Tutorial - Funktionen

Beitrag von Xin » Mi Mai 04, 2016 8:36 am

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 :)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Berit
Beiträge: 11
Registriert: Sa Apr 02, 2016 8:32 pm

Re: Tutorial - Funktionen

Beitrag von Berit » Do Mai 05, 2016 5:42 pm

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

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Tutorial - Funktionen

Beitrag von Xin » Do Mai 05, 2016 11:01 pm

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. :)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Berit
Beiträge: 11
Registriert: Sa Apr 02, 2016 8:32 pm

Re: Tutorial - Funktionen

Beitrag von Berit » Fr Mai 06, 2016 5:44 pm

Danke für die Hilfe :-)
Dann fange ich mit dem C-Tutorial noch mal von vorne an. Vielleicht habe ich was übersehen... :-)

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Tutorial - Funktionen

Beitrag von Xin » Fr Mai 06, 2016 6:19 pm

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.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten