Problem bei meinem HTML Programm (Komische Fehler)
-
Ich denke mal dein Compiler spuckt sogar noch Zeilennummern der Fehler aus, was es dir dann noch einfacher macht.
I.d.R springt er sogar in die Zeile, wenn man einen Doppelklick auf die Fehlermeldung macht.
@Wikinger75:
Kleiner Tipp:
Solche if/elseif Kaskaden kannst du dir sparen und z.B mit einer map lösen, wo du einfach die Farben einträgst und dann in einer Schleife ausgeben kannst. Dann speicherst du da einfach 2 strings drin und kannst dir die Redundanz der Ausgabe sparen.
-
gut
1.) Warum muss das ein Char sein?Hab festegstellt, dass (xD)
1.) Kein wunder das er meinte das es die funktion nicht gibt, da der zeiger nur Zeigerfunktionen und keine normalen funktion etgegen nimmt.void func(); // Normal void* func(); // Zeigerfunc...Daher hab ich aus
Builder* Datei = new Builder(Pfad);Builder Datei(Pfad);gemacht.
Und im case kann ich keine variablen definieren, warum?
-
Wikinger75 schrieb:
Warum muss das ein Char sein?
Die Schnittstelle ist nunmal so definiert, dass sie einen
char*(keinenchar) nimmt. Im neuen Standard soll sich das ändern.Wikinger75 schrieb:
Und im case kann ich keine variablen definieren, warum?
switch-caseist diesbezüglich etwas merkwürdig. Skalare Typen können beispielsweise definiert werden. Du kannst das umgehen, indem du einfach einen lokalen Block anlegst (durch die geschweiften Klammern).
-
Ah gut Dann müsste das in etwas so ausehen?
switch (VAR) { case 1: { string 1; string2; } // funktionen... break; default: break; }Wan kommt der neue standart? Gibs irgentso ne news seite?
-
Wikinger75 schrieb:
Wan kommt der neue stan****?
Meinst du eine neue Standarte? Da ist mir nix bekannt...

-
Ja genau den mein ich den neuen Standarte.

-
Nein, ich meinte, die Schnittstelle von
std::fstreamwürde erweitert, sodass sie auch mitstd::stringkompatibel ist. Amswitchändert sich soweit ich weiss nichts.Der neue C++-Standard sollte eigentlich 2009 erscheinen, aber ganz genau weiss das niemand...

-
Ahso ja denn ^^
Ma abwarten.THX Leuts
.
-
Ein weiterer für mich unbegründeter Fehler ist, wenn man eine ungültige eingabe macht, dieser zum default operator springt und sich in einer endlos schleife verhädert, wie ist dies möglich?
Wie kann ich dieses Problm beseitigen?
-
Wie sieht denn der dazugehörige Code aus (nur der relevante Teil)?
defaultist im Übrigen kein Operator, sondern eine Sprungmarke.
-
Das ist es ja der fehler pasier werähnd des programmlaufs, nicht zur compilerzeit.
Wenn ein ungültiger wert eingegeben wird, dann geht es in eine endlose-schleife.
-
Ja, ich hatte aber nach dem Code gefragt.
-
Der hat sich nicht verändert...
jedoch wenn ich richtige liege müsste der fehler hier sein, da er ja dort in die endlos schleife springt oder?
default: cout << "Ungültige Eingabe!" << endl; break;
-
Leer mal den Eingabepuffer. Bevor du auf die Eingabe wartest..
-
drakon schrieb:
Leer mal den Eingabepuffer.
Leichter gesagt als getan...

Hier, hier, hier und hier wurde neben den 314 anderen Threads das Thema besprochen. Aber vorweg: Eine wirklich saubere Möglichkeit gibt es dafür nicht.
-
Nexus schrieb:
drakon schrieb:
Leer mal den Eingabepuffer.
Leichter gesagt als getan...

Ich weiss, aber ich war zu faul alles herauszusuchen..

-
ehm würde ich mit clear nicht den inhalt der datei löschen?^^
-
Wikinger75 schrieb:
ehm würde ich mit clear nicht den inhalt der datei löschen?^^
Nein.
-
ähm ne dadran hat e snicht gelegen, ich hab die problematik mal mehr unter die luppe genommne.
Wenn ich eine ungültige zahl beim menü eingebe, dann läuft alles normal, doch wenn bei der eingabe ein string, eine zeichenkette eingegeben wird, erst das geht er in die endlos schleife.Logisch da ja ein int erwartet wird, wie knan ich dieses problem lösen?
Mit Exceptions?
-
Kann man irgentwie prüfen ob die int Variable ein char abekommen hat?
Mit if?