Problem mit String

Du bist neu in der Welt von C++? Dann schau hier herein!
Gesperrt
TerraG
Beiträge: 81
Registriert: 13. Oktober 2011 15:23

Problem mit String

Beitrag von TerraG »

Hi,

hab nochmals ein Problem mit einem String.

Die Zeile

Code: Alles auswählen

" */ \n\n"
gibt mir folgende Fehler

Code: Alles auswählen

Form.cpp:217:13: Fehler: fehlendes abschließendes Zeichen "
Form.cpp: In Funktion »void GeoDatei()«:
Form.cpp:217:14: Fehler: expected »;« before »n«
Weiss jemand wie ich das beheben kann?

Hatte bisher mal das */ mit \ zu *\/ getrennt. Dies verlagerte aber den Fehler nur auf die nächsten */ im String. Wenn ich aber alle */ wie beschrieben getrennt hatte, wurde die nächste Methode und teilweise die Übernächste mit in den String übernommen, also kann das wohl nicht die Lösung sein.
Gruß
TerraG
brax
Beiträge: 208
Registriert: 11. Mai 2010 11:22

Re: Problem mit String

Beitrag von brax »

Der von Dir gepostete Code kann ja keine ganze Zeile sein. Bitte poste den kompletten fehlerhaften Code, auch wenn Du der Meinung bist, dass das Problem genau an diesen 10 Zeichen liegt. Der gepostete String ist vollkommen ok, und

Code: Alles auswählen

QString foo(" */ \n\n");
produziert auch keinen Fehler.
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Re: Problem mit String

Beitrag von franzf »

*/ hat eine recht spezielle Bedeutung in C++-Code, wenn es NICHT in einem String steht - Das Ende eines mehrzeiligen Kommentars.
Wenn die fehlerhafte Stelle IMMER NACH diesem */ liegt, heißt das, du hast irgendwo in deinem Code falsch gesetzte Kommentarzeichen oder Anführungszeichen.
Wie brax schon sagte, braucht man dazu den GESAMTEN code.

Aber eigentlich sollte einen ein guter Editor selber darauf stoßen. Der hat ordentliches Syntax-Highlighting, mit anderem Stil für Kommentare, Strings, Klassennamen, usw. Da sollte es ins Auge stechen, wenn ein Kommentar endet und ein String anfängt.
TerraG
Beiträge: 81
Registriert: 13. Oktober 2011 15:23

Re: Problem mit String

Beitrag von TerraG »

Hi, also den Quelltext kann ich auf keinen Fall posten.

Ich hab den QUelltext durchgeschaut und Anführungszeichen sind keine drin, dafür aber ne Menge anderer Zeichen wie ` ; ' ; $ ; [,] und auch einige Kommentare //. Des weiteren natürlich oben genannte Zeichen */.

Der von mir gepostete Code ist eine ganze Zeile!

Code:

Code: Alles auswählen

" */ \n\n"

Die gesamte Fehlermeldung ist folgende:

Code: Alles auswählen

Form.cpp:217:13: Fehler: verirrtes »\« im Programm
Form.cpp:217:13: Fehler: verirrtes »\« im Programm
Form.cpp:217:17: Warnung: fehlendes abschließendes Zeichen " [standardmäßig aktiviert]
Form.cpp:217:13: Fehler: fehlendes abschließendes Zeichen "
Form.cpp: In Funktion »void GeoDatei()«:
Form.cpp:217:14: Fehler: expected »;« before »n«
Ich versteh schon wenn mir keiner so weiterhelfen kann, aber vielleicht fällt ja jemandem noch was ein. Ansonsten werde ich wohl ran müssen xD, weil posten werde ich das nicht.
Gruß
TerraG
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Problem mit String

Beitrag von Christian81 »

Du kannst keinen Code posten dessen Dateiname Form.cpp ist? Wow ... :roll:
Abgesehen davon wollen wir nicht den kompletten Code sondern nur ein minimales Beispiel welches das Problem aufzeigt !
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
TerraG
Beiträge: 81
Registriert: 13. Oktober 2011 15:23

Re: Problem mit String

Beitrag von TerraG »

Code: Alles auswählen

Du kannst keinen Code posten dessen Dateiname Form.cpp ist? Wow ... :roll: 
Der Dateiname ist garnicht Form.cpp ;P und nein ich kann den Code nicht posten, weil darin eine bestimmte Geometrie definiert ist (Teil einer Studienarbeit), die wenn sie kopiert wird einfach verwendet werden kann. Das würde dem Lehrstuhl in desem Auftrag ich programmiere garnicht gefalllen --> folglich würde das mir garnicht gefallen xD.

Ich wüsste auch garnicht welchen Teil des Quelltextes ich darstellen soll, da nur dieser eine Text über etwa 800 Zeilen geht. Nix für Ungut, aber das kann ich auf keinen Fall vertreten :) .
Gruß
TerraG
brax
Beiträge: 208
Registriert: 11. Mai 2010 11:22

Re: Problem mit String

Beitrag von brax »

Nix für ungut, aber Du wirst wohl verstehen, dass wenn Du uns keinen Code posten kannst, mit dem man das Problem reproduzieren kann, wir Dir auch nicht helfen können. Und wenn Du es nicht schaffst, diese 800 Zeilen so zu reduzieren, dass a) man damit nichts mehr anfangen kann und b) der Fehler auftritt, dann ist irgendwas ganz schräg...

Code: Alles auswählen

Der von mir gepostete Code ist eine ganze Zeile!
Kann schon sein, dass Du es in eine einzelne Zeile geschrieben hast, aber es ist kein Statement, sondern einfach nur ein const char* vollkommen aus dem Zusammenhang gerissen. Ich hab zwar gerade festgestellt, dass zumindest das VS2010 folgenden C++ Code kompiliert,

Code: Alles auswählen

int main(int argc, char** argv) {
  " */ \n\n";
  return 0;
}
, aber Sinn ergeben tut es natürlich nicht.

Wie schon gesagt, die gepostete Zeile, bzw. der gepostete const char*, enthält keinen Fehler, also ist Dein Fehler irgendwo in den 800 Zeilen außenrum.
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Re: Problem mit String

Beitrag von franzf »

Also, kurz zusammen gefasst:
1) Du arbeitest im Auftrag für einen Lehrstuhl (Uni?)
2) Der Code enthält geheime Infos.
3) Du kommst mit dem Code nicht zurecht.
4) Du willst von uns, einen Fehler zu finden, in Code, den du uns nicht zeigen kannst.
5) Meinen Hinweis tust du ab mit "und Anführungszeichen sind keine drin", obwohl allein in der geposteten Zeile 2 zu finden sind.

Irgendwie komm ich mir verarscht vor...
Ich seh da auch nur eine Lösung: Frag jemanden an deinem Lehrstuhl, ob er dir dabei helfen kann. Wir können es nicht.
Deshalb -> closed.
Gesperrt