id summary reporter owner description type status milestone component version severity resolution keywords cc 9205 [variant or mpl] compilation error VC2013 Akira Takahashi Aleksey Gurtovoy "I tried to use Boost 1.55.0 Beta RC's boost::variant with VC2013 RC. Compilation error this code: {{{ #include int main() { boost::variant v; } }}} Error message is here: (sorry, japanese error message...) {{{ 1>------ ビルド開始: プロジェクト:CppConsole, 構成:Debug Win32 ------ 1> main.cpp 1>c:\boost\boost-trunk-master\boost\mpl\assert.hpp(149): error C2143: 構文エラー : ';' が '<' の前にありません。 1> c:\boost\boost-trunk-master\boost\mpl\assert.hpp(153) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::mpl::eval_assert' の参照を確認してください 1>c:\boost\boost-trunk-master\boost\mpl\assert.hpp(149): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\boost\boost-trunk-master\boost\mpl\assert.hpp(152): error C2238: ';' の前に無効なトークンがあります。 1>c:\boost\boost-trunk-master\boost\mpl\assert.hpp(159): error C2143: 構文エラー : ';' が '<' の前にありません。 1> c:\boost\boost-trunk-master\boost\mpl\assert.hpp(163) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::mpl::eval_assert_not' の参照を確認してください 1>c:\boost\boost-trunk-master\boost\mpl\assert.hpp(159): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>c:\boost\boost-trunk-master\boost\mpl\assert.hpp(162): error C2238: ';' の前に無効なトークンがあります。 1>c:\boost\boost-trunk-master\boost\mpl\aux_\preprocessed\plain\arg.hpp(45): error C2039: 'assert_not_arg' : 'boost::mpl' のメンバーではありません。 1> c:\boost\boost-trunk-master\boost\mpl\aux_\preprocessed\plain\apply_wrap.hpp(49) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::mpl::arg<1>::apply' の参照を確認してください 1> with 1> [ 1> T1=boost::mpl::l_end 1> , T2=int 1> ] 1> c:\boost\boost-trunk-master\boost\mpl\aux_\preprocessed\plain\apply.hpp(63) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::mpl::apply_wrap2,0>,T1,T2>' の参照を確認してください 1> with 1> [ 1> T1=boost::mpl::l_end 1> , T2=int 1> ] 1> c:\boost\boost-trunk-master\boost\mpl\aux_\preprocessed\plain\reverse_fold_impl.hpp(74) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::mpl::apply2' の参照を確認してください 1> with 1> [ 1> ForwardOp=boost::mpl::arg<1> 1> ] 1> c:\boost\boost-trunk-master\boost\mpl\reverse_fold.hpp(41) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::mpl::aux::reverse_fold_impl<2,boost::mpl::l_iter>,boost::mpl::l_iter,State,BackwardOp,ForwardOp>' の参照を確認してください 1> with 1> [ 1> T0=int 1> , T1=char 1> , State=boost::mpl::l_end 1> , BackwardOp=boost::mpl::bind2,boost::mpl::void_>::type,boost::mpl::_1,boost::mpl::bind1,boost::mpl::arg<1>>,0>,boost::mpl::_2>> 1> , ForwardOp=boost::mpl::arg<1> 1> ] 1> c:\boost\boost-trunk-master\boost\mpl\transform.hpp(65) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::mpl::reverse_fold,boost::mpl::void_>::type,boost::mpl::_1,boost::mpl::bind1,boost::mpl::arg<1>>,0>,boost::mpl::_2>>,boost::mpl::arg<1>>' の参照を確認してください 1> with 1> [ 1> Seq=boost::mpl::list2 1> , F=boost::unwrap_recursive 1> , Tag=boost::mpl::void_ 1> ] 1> c:\boost\boost-trunk-master\boost\mpl\transform.hpp(113) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::mpl::aux::reverse_transform1_impl::apply::type>>' の参照を確認してください 1> with 1> [ 1> P1=boost::mpl::list2 1> , P2=boost::unwrap_recursive 1> , Sequence=boost::mpl::list2 1> ] 1> c:\boost\boost-trunk-master\boost\mpl\eval_if.hpp(41) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::mpl::transform1' の参照を確認してください 1> with 1> [ 1> Seq1=boost::mpl::list2 1> , Seq2OrOperation=boost::unwrap_recursive 1> , OperationOrInserter=boost::mpl::na 1> ] 1> c:\boost\boost-trunk-master\boost\mpl\transform.hpp(138) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::mpl::eval_if,boost::mpl::is_lambda_expression,boost::mpl::not_>,boost::mpl::false_,boost::mpl::false_>,boost::mpl::transform1,boost::mpl::transform2>' の参照を確認してください 1> with 1> [ 1> Seq2OrOperation=boost::unwrap_recursive 1> , Seq1=boost::mpl::list2 1> , OperationOrInserter=boost::mpl::na 1> , Inserter=boost::mpl::na 1> ] 1> c:\boost\boost-trunk-master\boost\variant\variant.hpp(1209) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::mpl::transform,boost::unwrap_recursive,boost::mpl::na,boost::mpl::na>' の参照を確認してください 1> with 1> [ 1> T0=int 1> , T1=char 1> ] 1> c:\users\a_takahashi\documents\visual studio 2013\projects\cppconsole\cppconsole\main.cpp(5) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::variant' の参照を確認してください 1>c:\boost\boost-trunk-master\boost\mpl\aux_\preprocessed\plain\arg.hpp(45): error C3861: 'assert_not_arg': 識別子が見つかりませんでした 1>c:\boost\boost-trunk-master\boost\mpl\aux_\preprocessed\plain\arg.hpp(63): error C2039: 'assert_not_arg' : 'boost::mpl' のメンバーではありません。 1> c:\boost\boost-trunk-master\boost\mpl\aux_\preprocessed\plain\apply_wrap.hpp(80) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::mpl::arg<2>::apply' の参照を確認してください 1> with 1> [ 1> T1=boost::mpl::l_end 1> , T2=char 1> , T3=boost::mpl::na 1> , T4=boost::mpl::na 1> , T5=boost::mpl::na 1> ] 1> c:\boost\boost-trunk-master\boost\mpl\aux_\preprocessed\plain\bind.hpp(50) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::mpl::apply_wrap5,U1,U2,U3,U4,U5>' の参照を確認してください 1> with 1> [ 1> U1=boost::mpl::l_end 1> , U2=char 1> , U3=boost::mpl::na 1> , U4=boost::mpl::na 1> , U5=boost::mpl::na 1> ] 1> c:\boost\boost-trunk-master\boost\mpl\aux_\preprocessed\plain\bind.hpp(143) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::mpl::aux::resolve_bind_arg,U1,U2,U3,U4,U5>' の参照を確認してください 1> with 1> [ 1> U1=boost::mpl::l_end 1> , U2=char 1> , U3=boost::mpl::na 1> , U4=boost::mpl::na 1> , U5=boost::mpl::na 1> ] 1> c:\boost\boost-trunk-master\boost\mpl\aux_\preprocessed\plain\apply_wrap.hpp(80) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::mpl::bind1,boost::mpl::arg<1>>,0>,boost::mpl::_2>::apply' の参照を確認してください 1> with 1> [ 1> F=boost::unwrap_recursive 1> , Tag=boost::mpl::void_ 1> , T1=boost::mpl::l_end 1> , T2=char 1> , T3=boost::mpl::na 1> , T4=boost::mpl::na 1> , T5=boost::mpl::na 1> ] 1> c:\boost\boost-trunk-master\boost\mpl\aux_\preprocessed\plain\bind.hpp(160) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::mpl::apply_wrap5,boost::mpl::arg<1>>,0>,boost::mpl::_2>,U1,U2,U3,U4,U5>' の参照を確認してください 1> with 1> [ 1> F=boost::unwrap_recursive 1> , Tag=boost::mpl::void_ 1> , U1=boost::mpl::l_end 1> , U2=char 1> , U3=boost::mpl::na 1> , U4=boost::mpl::na 1> , U5=boost::mpl::na 1> ] 1> c:\boost\boost-trunk-master\boost\mpl\aux_\preprocessed\plain\bind.hpp(206) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::mpl::aux::resolve_bind_arg,boost::mpl::arg<1>>,0>,boost::mpl::_2>,U1,U2,U3,U4,U5>' の参照を確認してください 1> with 1> [ 1> F=boost::unwrap_recursive 1> , Tag=boost::mpl::void_ 1> , U1=boost::mpl::l_end 1> , U2=char 1> , U3=boost::mpl::na 1> , U4=boost::mpl::na 1> , U5=boost::mpl::na 1> ] 1> c:\boost\boost-trunk-master\boost\mpl\aux_\preprocessed\plain\apply_wrap.hpp(49) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::mpl::bind2,boost::mpl::void_>::type,boost::mpl::_1,boost::mpl::bind1,boost::mpl::arg<1>>,0>,boost::mpl::_2>>::apply' の参照を確認してください 1> with 1> [ 1> F=boost::unwrap_recursive 1> , Tag=boost::mpl::void_ 1> , T1=boost::mpl::l_end 1> , T2=char 1> ] 1> c:\boost\boost-trunk-master\boost\mpl\aux_\preprocessed\plain\apply.hpp(63) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::mpl::apply_wrap2,boost::mpl::void_>::type,boost::mpl::_1,boost::mpl::bind1,boost::mpl::arg<1>>,0>,boost::mpl::_2>>,T1,T2>' の参照を確認してください 1> with 1> [ 1> F=boost::unwrap_recursive 1> , Tag=boost::mpl::void_ 1> , T1=boost::mpl::l_end 1> , T2=char 1> ] 1> c:\boost\boost-trunk-master\boost\mpl\aux_\preprocessed\plain\reverse_fold_impl.hpp(81) : コンパイルされたクラスの テンプレート のインスタンス化 'boost::mpl::apply2' の参照を確認してください 1> with 1> [ 1> BackwardOp=boost::mpl::bind2,boost::mpl::void_>::type,boost::mpl::_1,boost::mpl::bind1,boost::mpl::arg<1>>,0>,boost::mpl::_2>> 1> ] 1>c:\boost\boost-trunk-master\boost\mpl\aux_\preprocessed\plain\arg.hpp(63): error C3861: 'assert_not_arg': 識別子が見つかりませんでした ========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ========== }}} patch to boost/mpl/assert.hpp, line 137: {{{ #if BOOST_WORKAROUND(BOOST_MSVC, >= 1700) }}} to {{{ #if BOOST_WORKAROUND(BOOST_MSVC, == 1700) }}}" Bugs new To Be Determined mpl Boost 1.55.0 Showstopper