Seite 1 von 1

C++11

Verfasst: So Mai 31, 2015 8:09 pm
von Henry Der Rote
Hallo,
Ich versuche seit 2 Tagen in C++ einzusteigen und hab mir da ein Einsteigerfreundliches Buch namens Grundkurs C++ gekauft, nur häng ich jetzt auf seite 44 fest, weil da ein Programmcode angegeben ist den ich einfach nicht zum laufen kriege, habe mehrere compiler getestet und immer wieder Fehlermeldungen erhalten das deklarierungen fehlen oder ähnliches. Ging zunächst davon aus das es daran liegt das dev-c++ kein c++11 kennt, habs dann mit codeblock und mit mingw versucht mit wenig erfolg zwar andere Fehlermeldungen aber eben Fehlermeldungen. Der Code-Ausschnitt um den es geht

Code: Alles auswählen

#include <iostream>
using namespace std;

int main ( ) {
	char16_t c16val{u'A'};
	char32_t c32val{U'Z'};
	cout << sizeof(c16val) << endl;
	cout << sizeof(c32val) << endl;
Und als Fehler kommt zum beispiel [Error] 'char16_t' was not declared in this scope und [Error] expected ';' before 'c16val'
Falls wer nen auffälligen Fehler sieht, bitte ich drum mir das Geheimniss zuverraten.
Danke schonmal im vorraus.

Re: C++11

Verfasst: Mo Jun 01, 2015 10:42 am
von nufan
Dein Compiler muss C++11 nicht nur unterstützen, du musst ihm auch sagen, dass du es verwenden willst. Das machst du üblicherweise mit dem "-std=c++11"-Flag. Diesen musst du in deiner Entwicklungsumgebung bei den Compiler-Flags hinzufügen.

Code: Alles auswählen

#include <iostream>
using namespace std;

int main ( ) {
    char16_t c16val{u'A'};
    char32_t c32val{U'Z'};
    cout << sizeof(c16val) << endl;
    cout << sizeof(c32val) << endl;
    return 0;
}

Code: Alles auswählen

$ g++ -std=c++11 main.cpp 
$ ./a.out 
2
4
Übrigens würde ich dir allgemein von Dev-C++ abraten, CodeBlocks ist da schon eine nette Alternative.

Re: C++11

Verfasst: Mo Jun 01, 2015 4:18 pm
von Henry Der Rote
Mit CodeBlocks meldet er mir eben |2|fatal error: iostream: No such file or directory| an welcher stelle im code muss ich die Flag denn einfügen ?

Re: C++11

Verfasst: Mo Jun 01, 2015 4:24 pm
von nufan
Henry Der Rote hat geschrieben:Mit CodeBlocks meldet er mir eben |2|fatal error: iostream: No such file or directory|
Dann hast du wohl den falschen Compiler eingestellt. Du brauchst den C++-Compiler g++ und nicht den C-Compiler gcc.
Henry Der Rote hat geschrieben:an welcher stelle im code muss ich die Flag denn einfügen ?
Das ist nicht Teil deines Codes, sondern eine Einstellung für deinen Compiler, die du beim Übersetzen angibst.

Ich würde dir empfehlen dich zuerst durch unser C-Tutorial zu arbeiten, bevor du dich auf zu große Dinge stürzt:
https://www.proggen.org/doku.php?id=c:start