4

ハッシュマップの実装を含むC++プログラミングクラスの割り当てに取り組んでいます。インストラクターから、ハッシュマップクラスで使用する必要のあるヘッダーファイルが提供されました。提供されたヘッダーファイルには、次の行が含まれています。

typedef std::function<unsigned int(const std::string&)> HashFunction;

私の(限定された)C ++の理解から、これはHashFunction型をstd::functionとして定義します。ただし、コードをコンパイルすると、次のエラーが発生します。

./HashMap.h:46:15: error: no type named 'function' in namespace 'std'
        typedef std::function<unsigned int(const std::string&)> HashFunction;
                ~~~~~^
./HashMap.h:46:23: error: expected member name or ';' after declaration specifiers
        typedef std::function<unsigned int(const std::string&)> HashFunction;
        ~~~~~~~~~~~~~~~~~~~~~^

HashMap.hファイルには

#include <functional>

それが重要な場合は、上部にあります。

なぜ私がこれらのエラーを受け取るのか誰かが知っていますか?

4

2 に答える 2

6

(少なくとも部分的に) C++11 をサポートするコンパイラが必要です。どのコンパイラを使用していますか?

于 2012-11-03T20:42:07.340 に答える
0

追加するだけです:

構成 +=c++11

.proファイルへ:)

于 2013-09-05T19:43:34.190 に答える