fehlerhaftes Programm, finde den Fehler nicht!!

villiboy

villiboy

Mitglied
Hi Leute,
hab da ein Programm, das fehlerhaft sein soll! Wo ist das Problem?

Code:
#include <iostream>
using namespace std;

double & getPi(void);

int main(){
    cout <<getPi()<<"\n";
    return 0;
}

double &getPi(void){
  double pi=3.1415;
  return pi;
}

Es wäre nett, wenn mir das einer erklären könnte!!

Danke
 
Code:
$ g++ getpi.c -o getpi
getpi.c: In function `double& getPi()':
getpi.c:12: warning: reference to local variable `pi' returned
 
joh ok, aber wieso geht das nicht? ist das nicht erlaubt?
 
Wie wäre es, wenn Du ein Buch nimmst, Dich hinsetzt und lernst, anstatt Dir hier sämtliche Hausaufgaben machen zu lassen. Wenn Du mal Prüfungen hast, fragst Du dann auch hier an, ob Dich einer vertritt? *kopfschüttelnd*
 
lokale variablen sind nur lokal, also innerhalb der funktion verfügbar (allokiert). du gibst aber eine referenz (also quasi die adresse ) auf eine lokale variable zurück, also auf eine variable die es gar nicht mehr gibt sobald die funktion beendet ist.
 
ok, danke. jetzt habe ich es verstanden.
Wie wäre es, wenn Du ein Buch nimmst, Dich hinsetzt und lernst, anstatt Dir hier sämtliche Hausaufgaben machen zu lassen. Wenn Du mal Prüfungen hast, fragst Du dann auch hier an, ob Dich einer vertritt? *kopfschüttelnd*
1. es sind keine hausaufgaben, will mir ein bisschen c++ beibringen, wenn es erlaubt ist ...
2. es sind beispiele bzw. aufgaben aus einem buch ...
3. entschuldige, dass ich euch damit nerve
4. werde mir wohl ein anderes, freundlicheres board suchen müssen

danke
 
int * demo(), int* demo() und int *demo() sind alle gleichwertig, der Parser macht da keinen Unterschied.

Es gibt ein gutes C/C++ Forum unter http://www.c-plusplus.de/cms/
Dort nimmt es Dir wohl auch keiner krumm, wenn Du unter Windows programmierst. Zumindest scheint 'conio.h' Windows-spezifisch zu sein, was ich so mitbekommen habe.
 
@ villiboy

Muss ja ein lustiges Buch sein. Wenn ich das richtig verstehe, stehen da lauter Problemstellungen zu verschiedenen Sprachen sowie fehlerhafte Code-Schnipsel (vorzugsweise mit Windowssonderzeichen) drin, aber keine Erklärungen zu diesen Sprachen. (s.a. http://www.unixboard.de/vb3/search.php?searchid=375249)

Ist ja auch egal. Dir wurde vor kurzem hier im Forum geraten, ein Buch zu der jeweiligen Sprache zu besorgen, da grundlegende Programmierfähigkeiten Deinerseits fehlen. Das ist immernoch ein guter Tipp.
 
Zuletzt bearbeitet:
rikola schrieb:
int * demo(), int* demo() und int *demo() sind alle gleichwertig, der Parser macht da keinen Unterschied.
ja, whitspaces sind egal..
fehlen noch int*demo(), int*demo (), int*demo( ) und alle möglichen kombinationen davon..

auf bald
oenone
 
villiboy schrieb:
3. entschuldige, dass ich euch damit nerve
4. werde mir wohl ein anderes, freundlicheres board suchen müssen
hi,
ich glaub du solltest nicht so schnell eingeschnappt sein. niemand will dich hier beleidigen, aber ein paar gute ratschläge solltest du schon vertragen. und selbst, wenn du ein paar leute nerven solltest, es ist dir hier bisher noch immer geholfen worden oder? also kopf hoch :)
 

Ähnliche Themen

Unix Webserver mit HTML Seite erstellen

String auf Konsole ausgeben

Funktion nicht gefunden

GCC liefert in Eclipse Kompilierfehler

Prozesskommunikation mit PIPES - wie funktioniert das?

Zurück
Oben