2016-12-24 5 views
1

私は持っている問題について助けを求めてください。 私はtypedefをboost :: variate_generator構文エラー

typedef boost::random::mt19937 my_rng; 
typedef boost::math::students_t my_st; 

を持っているし、次の:私は取得

my_rng rng(0) ; 
    my_st st(3); 
    boost::random::variate_generator<my_rng&, my_st > noise(rng, st); 

コンパイルエラーが(私は、Windows 7でのVisual Studio 13を使用しています)です:

1> C \ boost \ boost_1_61_0 \ boost/random/variate_generator.hpp(59):エラーC2039: 'result_type': 'boost :: math :: students_t_distribution>' 1> .... \ testのメンバーではありません。 cpp(183):クラステンプレートのインスタンス化の参照を参照してください 'boo st :: random :: variate_generator 'がコンパイルされています 1> C:\ boost \ boost_1_61_0 \ boost/random/variate_generator.hpp(59):エラーC2146:構文エラー:'; ' C4430:型指定子が見つからない - intが仮定されています。注:C++はdefault-intをサポートしていません 1> C:\ boost \ boost_1_61_0 \ boost/random/variate_generator.hpp(59):エラーC2602: 'boost :: random :: variate_generator :: result_type'はのメンバーではありませんboost :: random :: variate_generatorの基本クラス 1> C:\ boost \ boost_1_61_0 \ boost/random/variate_generator.hpp(59): 'boost :: random :: variate_generator :: result_type'の宣言を参照してください C:\ boost \ boost_1_61_0 \ boost/random/variate_generator.hpp(59):エラーC2868: 'boost :: random :: variate_generator :: result_type':宣言を使用するための不正な構文。予想される修飾名

誰かが私にこの問題を解決する方法を教えてもらえますか?前もって感謝します。

+0

あなたのインクルードをどのようにリストしましたか? '#include 'と '#include 'エラーは発生しません。 MS v140コンパイラ。 – lakeweb

答えて

0

boost:math::students_tは、Random Distributionという概念を満たしていません。代わりにboost::random::student_t_distributionを使用してください。