C++ Header Datei "was not declared in this scope"

2 Antworten

Wie der Fehler schon sagt: HELLO_WORLD wurde nicht deklariert. Das liegt daran, dass eine Definition von HELLO_WORLD nur stattfindet, wenn GERMAN, FRENCH, ENGLISH oder INTERNATIONAL vorher bereits definiert sind - was bei dir wohl nicht der Fall ist.

Ohnehin solltest du es anders angehen: gehe mit ifdef ... elif defined(???) ... elif defined(???) ... ... else ... endif alle Fälle durch und biete den englischen Text als Standardwert an.

Ahja, es klappt, wenn ich die Sprachdefinierung vor das #include setze, danke. Die Header Datei werde ich auch überarbeiten, aber ich bin eben noch am Anfang und muss mich da erstmal reinlesen, um ein Gefühl für die Sprache zu bekommen. Vielen Dank nochmal!

0
ifdef GERMAN
define HELLO_WORLD "Hallo Welt!"
endif
if defined(ENGLISH) || defined(INTERNATIONAL)
define HELLO_WORLD "Hello World!"
endif
ifdef FRENCH
define HELLO_WORLD "Bonjour le monde!"
endif

Da sind wohl einige Fehler vorhanden:

  1. Die Macros beginnen wohl alle mit einem #-Zeichen
  2. Warum in der Englisch/international-Zeile plötzlich „if defined“?

Also sollte das so aussehen:

#ifdef GERMAN
#define HELLO_WORLD "Hallo Welt!"
#endif

#ifdef (ENGLISH) || (INTERNATIONAL)
#define HELLO_WORLD "Hello World!"
#endif

#ifdef FRENCH
#define HELLO_WORLD "Bonjour le monde!"
#endif

Außerdem wäre es ggf. einfacher die englische und internationale Version einfach zu trennen. Der Präprozessor liest die Zeilen einmal durch und muß nicht über diese „||“-Zeichen stolpern …

In einer der Implementierungsdateien musst du dann sowieso definieren, welche Sprache gelten soll …

C++ Unterschied zwischen Header und Cpp Datein

Hey,

Ich verstehe den Unterschied zwichen Headerdatein und cpp Datein nicht :/

Könnt ihr mir da weiterhelfen ?

...zur Frage

Ubuntu jar Datei ausführen

Ich wollte eine .jar Datei ausführen, aber die Datei war blockiert:

The file '/home/tester/Arbeitsfläche/test.jar' is not marked as executable. If this was downloaded or copied from an untrusted source, it may be dangerous to run. For more details, read about the executable bit.

Was soll ich machen? Bitte helft mir.

Danke im Voraus MfG Lollitt2

...zur Frage

C++ - Error: array must be initialized with a brace-enclosed initializer

Guten Morgen, ich habe folgenden Code geschrieben: (ausschnitte)

// sletters ist ein String-Objekt mit unbekannten Inhalt.
char letters[sletters.size()] = sletters;

das komische ist, das ganze habe ich schon einmal gemacht, nömlich so:

char letters[] = "abcdprsuw1234";

aber wenn ich das versuche:

char letters[] = sletters;

geht es nicht. Folgender Fehler taucht auf:

Error: array must be initialized with a brace-enclosed initializer

Ich verwende das Qt-Framework

Liebe Grüße Phantom6208

...zur Frage

C++ Hilfe ausführbare Datei kann nicht gefunden werden?

Hey... ich hoffe jemand kann mir helfen.. ich möchte c++ lernen.. ich habe mir entsprechende Bücher gekauft und nach dessen Anleitung ein Programm in Microsoft visuals company geschrieben.. eine einfachen Text der in einem Fenster angezeigt wird ..

Jetz ist aber das Problem, wenn ich diese Datei übersetze und combilen möchte, sagt mir das Programm auf 2 verschieden Rechnern, das es einen Fehler gibt und die exe Datei nicht gefunden werden kann.. In der Ausgabe steht, ob ich vllt vergessen habe stdfax.h einzufügen . . Laut Buch, muss ich das nicht tun... Die Header Datei ist hier iostream Ich hab dann stdfax.h mit eingefügt und trotzdem geht es nicht.. kann mir jemand verraten, wie ich endlich mal was schreiben und ausführen kann ? XD XD ich drehe sonst durch.. will einfach nur mit meinem Buch weitermachen.. das geht aber nicht, wenn ich keine Datein ausführen kann..

Danke euch

...zur Frage

c++ compiler "nicht definierter verweis auf ..."

hallo

ich habe eine .hpp mit der struktur einer klasse und eine passende .cpp in welcher die methoden deklariert werden. füge ich nun die .hpp per include in meine main.cpp ein findet es zwar die klasse und ich kann sie normal verwenden jedoch kommt beim Kompilieren dann die meldung "nicht definierter verweis auf ..(alle verwendeten methoden der klasse)" woran könnte das liegen ? die klassen.cpp verweist natürlich auch auf die dementsprechende headerdatei und die .o datei besteht auch zur passenden klassen.cpp

lösungsvorschläge?

zur vorbeugung "unnötiger" fragen eingebunden per #include "...hpp" in der .hpp steht auch das #ifndef HPP, #define HPP, #endif ,welches mit dem problem aber ja nichts zu tun hat

...zur Frage

Was möchtest Du wissen?