次のコードは、Visual Studio 2005上で動作しますが、G ++ 4.4.5でコンパイルしたとき、私のコンパイラエラーを与える:の選択タイプ:: IF_と整数テンプレートパラメータ
#include <boost/mpl/if.hpp>
#include <boost/mpl/bool.hpp>
template<int X> struct A
{
void f() {
typedef boost::mpl::if_<boost::mpl::bool_<X == 1>, int, bool>::type Type;
}
};
これは私が取得エラーです:
main.cpp: In member function ‘void A<X>::f()’:
main.cpp:12: error: too few template-parameter-lists
コードにはどのような問題がありますか?テンプレート化されたXをハードコーディングされた数字に置き換えた場合、コードはちょうどいいです。私はまた、mpl :: int_型でXをラップしようとしましたが、成功しませんでした。
ありがとうございます!
完全な例を掲載してください(http://sscce.orgで説明されています)? –