Aktivieren der C++11/C++0x support in Eclipse CDT?

Eclipse 3.7.1
CDT 1.4.1
GCC 4.6.2

Dies ist ein Beispiel für ein Stück C++11 code:

auto text = std::unique_ptr<char[]>(new char[len]);

Den Eclipse-editor beschwert sich über:

Function 'unique_ptr' could not be resolved

Makefile Zusammenstellung funktioniert gut. Wie man Eclipse stoppen Sie beschweren sich über diese Art von Fehler?

Zumindest sollte es std::unique_ptr<char[]>
Nicht sicher, ob das richtig ist -- char[] ist konvertierbar char* und unique_ptr<char> ist ein Zeiger auf char wie char*
Würde nicht unique_ptr<char> nennen delete, das ist falsch, denn es wurde mit new[]?
Nein, er hat Recht. Die Art und Weise Sie schrieb es wird dazu führen delete genannt zu werden, wenn Sie müssen delete[] genannt. Die unique_ptr<char> davon ausgegangen, dass es immer ein Zeiger, der gelöscht wird mit delete. unique_ptr<char[]> erwartet ein array, welches gelöscht wird mit delete[] richtig.
Verwandte: stackoverflow.com/q/8889260/636019, stackoverflow.com/q/8763937/636019, stackoverflow.com/q/8564544/636019, stackoverflow.com/q/8312854/636019

InformationsquelleAutor Nick | 2012-02-03

Schreibe einen Kommentar