S
Hi,
ich habe in den vergangenen Monaten ein inzwischen größeres Projekt (mein erstes) mit dem Borland C++BuilderX erstellt.
Nun möchte ich das ganze mit einer GUI ausstatten (und zwar mittels Qt), aber da die Borland IDE damit nicht zurecht kommt, bin ich gezwungen, umzusteigen.
DevC++ soll ja nun recht gut sein und auch mit Qt klarkommen.
Wenn ich aber das erstmal noch Qt-freie Projekt, das von Borland ohne Fehlermeldungen oder Warnungen kompiliert wird, mit DevC++ kompilieren will, bekomme ich Fehler über Fehler, alle in der Art:
"expected primary-expression before '.' token"
Und das halt unzählige Male bei einem Programmcode, den Borland ohne auch nur ein einziges Problem ausgeführt hat.
Ich vermute, dass es an Problemen mit enum liegen könnte:
*enum Farbe {Kreuz, Pik, Herz, Karo, nicht, FFehler};
enum Wert {Sieben, Acht, Neun, Dame, Koenig, Zehn, As, Bube, verfuegbar, WFehler};
Wert wert;
Farbe farbe;*
Zuerst hatte ich (nicht genau so, das hier ist nur ein Beispiel) sowohl
wert = Kreuz;
als auch
wert =0;
benutzt.
Auch das hat Borland kompiliert aber Warnungen ausgeben
("int wird Farbe zugeordnet")
Also habe ich den zweiten Teil in
wert = Wert(0);
geändert.
Trotzdem produziet z.B. die folgende Stelle sowohl in dieser Version
if ((Stich[Spiel.RundeAusgeben()-1].farbekarteAusgeben(0) == Farbe(spielart)) ...)
als auch so
if ((int(Stich[Spiel.RundeAusgeben()-1].farbekarteAusgeben(0)) == spielart) ...)
oder einfach so
if ((Stich[Spiel.RundeAusgeben()-1].farbekarteAusgeben(0) == spielart) ...)
den oben genannten Fehler ("expected primary-expression before '.' token").
"spielart" ist dabei ein ganz normaler Integer (int spielart = (...);), die Funktion (...)farbekarteAusgeben(n) hat als Rückgabetyp Farbe.
Könnten die Fehler an enum liegen?
Wenn ja, was muss ich da anders machen, um den Rückgabewert "Farbe" einer Funktion mit einem Integer zuvergleichen?
Wenn nein, woran könnte es dann liegen?
Vielen Dank für jede Hilfe,
Sinthoras