C++11

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
Henry Der Rote
Beiträge: 2
Registriert: So Mai 31, 2015 7:51 pm

C++11

Beitrag von Henry Der Rote » So Mai 31, 2015 8:09 pm

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.

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: C++11

Beitrag von nufan » Mo Jun 01, 2015 10:42 am

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.

Henry Der Rote
Beiträge: 2
Registriert: So Mai 31, 2015 7:51 pm

Re: C++11

Beitrag von Henry Der Rote » Mo Jun 01, 2015 4:18 pm

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 ?

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: C++11

Beitrag von nufan » Mo Jun 01, 2015 4:24 pm

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

Antworten