Fehler???



  • #include <iostream>
    #include <cmath>
    #include <conioex.h>
    #include "conioex.c"
    using namespace std;

    #define DOT(x,y) (gotoxy(x,y)<<'*')
    #define PI 3.1416
    #define MX 40
    #define MY 12
    #define A 25
    #define B 10

    int main()
    {
    int x,y;

    clrscr();

    for(double t = 0.0; t<=PI/2;t+=0.03)
    {
    x=(int) (Acos(t) + 0.5);
    y=(int) (B
    sin(t) + 0.5);
    DOT( x+MX, y+MY);
    DOT( x+MX,-y+MY);
    DOT(-x+MX, y+MY);
    DOT(-x+MX,-y+MY);
    }
    gotoxy(24,0);
    return 0;
    }

    Fehlermeldungen:

    C:\Dev-Cpp\Unbenann.cpp In function `int main()':
    24 C:\Dev-Cpp\Unbenann.cpp void value not ignored as it ought to be
    25 C:\Dev-Cpp\Unbenann.cpp void value not ignored as it ought to be
    26 C:\Dev-Cpp\Unbenann.cpp void value not ignored as it ought to be
    27 C:\Dev-Cpp\Unbenann.cpp void value not ignored as it ought to be
    C:\Dev-Cpp\Makefile.win [Build Error] [Unbenann.o] Error 1

    versteh ich nicht...kann mir jemand helfen?

    danke.

    MfG Riddick.



  • sorry nichts gegen diesen code aber der is echt...
    naja was solls-sieh dir doch mal an was passiert wenn dein DOT makro expandiert.
    -dann steht da (gotoxy(x,y)<<'') und dass kanns ja nicht sein. ich nehme aber mal an das dein DOT ein '' ausgeben soll - also es fehlt noch eine ausgabefunktion - also hier zb. cout. also dein haessliches makro zu (cout<<gotoxy((x),(y))<<'*') umschreiben und fertig. ps. nicht vergessen x und y nochmal zu klammern - koennte sonst zu boesen ueberaschungen kommen.



  • edit:
    hab mir das nochmal angesehen- gotoxy muss natuerlich davor- oder willst du sehen was dir gotoxy zurueckgibt? also DOT als gotoxy((x),(y)); cout<<'*' definieren.



  • okay danke, bin programmieranfänger und es stand nicht anders im buch....

    mfg riddick



  • sorry, dachte das waer selbst geschriebener code - wenn sowas ernsthaft in deinem buch steht, weurde ich sogar empfehlen dannach ein weiteres (vernuenftigeres) buch zu lesen, oder besser mit einem anderen (eventuell neuerem) zu beginnen ; ) .



  • Das Buch heißt c++ lernen und professionell anwenden und wird von vielen empfohlen und ist aus dem Jahre 2005 (Februar) 🙂



  • ja, das buch fängt mit dem präprozessor an, aber an diesen miesen code kann ich mich grad nicht erinnern 😮



  • schlechtes buch ⚠



  • meinung... schrieb:

    schlechtes buch ⚠

    nach diesem thread :
    full ack



  • Riddick04 schrieb:

    #define DOT(x,y) (gotoxy(x,y)<<'*')

    ^daher kommt die fehlermeldung. gotoxy() gibt keinen wert zurück (void), der code versucht aber den nicht vorhandenen rückgabewert um '*' bits nach links zu shiften. eventuell sollte das so sein:

    #define DOT(x,y) {gotoxy(x,y);putchar('*');}
    


  • ich hab jetzt nochmal in die version vom letzten jahr geschaut: der code steht da nicht mal ansatzweise drin.(dabei hab ich gemerkt, dass makros "erst" im 7. kapitel drankommen, also doch nicht so früh wie ich in erinnerung hatte)

    //edit vielleicht kannd er threadstarter ja ne seitenangabe machen



  • seite 142...



  • oops, erst jetzt gesehen: da steht bei mir ein komplett anderer code(zwar auch mit defines, aber anders)


Anmelden zum Antworten