首页 文章

boost :: variate_generator语法错误

提问于
浏览
1

我可以请求帮助解决我遇到的问题 . 我有typedef

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):参见类模板实例化'boost :: random :: variate_generator'正在编译1> C:\ boost \ boost_1_61_0 \ boost / random / variate_generator.hpp(59):错误C2146:语法错误:缺失';'在标识符'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):错误C2602:'boost :: random :: variate_generator :: result_type'不是a的成员'boost :: random :: variate_generator'的基类1> C:\ boost \ boost_1_61_0 \ boost / random / variate_generator.hpp(59):参见'boost :: random :: variate_generator :: result_type'1> C的声明:\ boost \ boost_1_61_0 \ boost / random / variate_generator.hpp(59):错误C2868:'boost :: random :: variate_generator :: result_type':using-declaration的非法语法;预期的合格名称

有人可以给我一些指示如何解决这个问题 . 提前致谢 .

1 回答

  • 0

    boost:math::students_t 不满足 Random Distribution 的概念 . 请改用 boost::random::student_t_distribution .

相关问题