請問我可以幫我解決我遇到的問題。 我有的typedefboost :: 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);
編譯錯誤,我得到的是(我使用視覺工作室13中的窗口7):
1> C^:\ boost \ boost_1_61_0 \ boost/random/variate_generator.hpp(59):error 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):error C2146:syntax error:missing';'之前標識符'result_type' 1> C:\ boost \ boost_1_61_0 \ boost/random/variate_generator.hpp(59):錯誤C4430:缺少類型說明符 - int假定。注意:C++不支持default-int 1> C:\ boost \ boost_1_61_0 \ boost/random/variate_generator.hpp(59):error C2602:'boost :: random :: variate_generator :: result_type'不是成員(boost):: random :: variate_generator''的基類:1 2 3 4 5 6 7 8 9 10 1> C:\ boost \ boost_1_61_0 \ boost/random/variate_generator.hpp(59):error C2868:'boost :: random :: variate_generator :: result_type':使用聲明的非法語法;預期的限定名稱
有人可以請給我一些指導如何解決這個問題。提前致謝。
你是如何列出你的包含? '#include '''#include '我沒有錯誤。 MS v140編譯器。 –
lakeweb