0

私はブーストマルチインデックスについて学び、このチュートリアルに従っています。

問題は、Visual Studio 2008を使用してハッシュインデックスセクション(そのページのコードの最初のブロック)からコードをコンパイルできないことです:(

私が試すたびに、C++コンパイラは次のように文句を言います。

main.cpp(19) : error C2143: syntax error : missing ';' before '<'
main.cpp(19) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

これらのエラーは、上記のコードブロックの19行目のtypedefで発生します。誰かが私がこれに光を当てるのを手伝ってもらえますか?

4

3 に答える 3

3

この例のコードには、暗黙のusingディレクティブ-がありusing namespace boost::multi_index;ます。

の前に上記のusingディレクティブを追加するか、、、、などをtypedef完全に修飾multi_index_containerします。indexed_byordered_uniquehashed_unique

于 2011-07-10T23:18:57.410 に答える
2

彼らのコードサンプルには必要な名前空間が含まれていません。これがあなたの問題だと思います。追加してみてください

using namespace boost;
using namespace boost::multi_index;

与えられたコードの前。

于 2011-07-10T23:19:38.740 に答える
1

これは名前空間の問題です。ブーストが必要になります::そのmulti_index_containerとindexed_by、およびブーストからプルしている他のすべての前に。

于 2011-07-10T23:18:56.180 に答える