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 10int main()
{
int x,y;clrscr();
for(double t = 0.0; t<=PI/2;t+=0.03)
{
x=(int) (Acos(t) + 0.5);
y=(int) (Bsin(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 1versteh 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)