2012-02-23 11 views
2

を移動::C++ 11 GCC 4.6.2 STDはSTDと、私は移動コンストラクタを使用しようとした

#include <utility> 

を移動しかし、私はエラーが表示さ::、 '動き' はSTD」のメンバではありません'私は、コンストラクタを動かす理解

gcc --version 
gcc (GCC) 4.6.2 20111027 (Red Hat 4.6.2-1) 

はちょうどそれがまだGCC 4.6.2で利用可能であるかどうか迷って、C++ 11の新機能です。

ありがとうございました。

+4

フラグを追加しましたか?-std = C++ 0x'(gcc 4.7では-std = C++ 1xに変更) – Lalaland

+4

@EthanSteinberg:4.7 ... –

+2

で 'C++ 11'に変更されました変更されていません! "GCC 4.7以降では' -std = C++ 11'と '-std = gnu ++ 11'もサポートしています"([source](http://gcc.gnu.org/projects/cxx0x.html))つまり、 '-std = C++ 0x'の代わりにではなく、それに追加します。 – przemoc

答えて

8

-std=c++0x)にC++ 0xフラグを付けてコンパイルしましたか? g ++のデフォルトはC++ 03です。

+2

精度:このフラグがないと、ヘッダーのいくつかの部分が取り除かれ(典型的な '#ifdef'コードを使用)、そのうち' std :: move'の定義が取り除かれます。 –

関連する問題