我正在尝试使用 boost in oder 来计算阶乘。我不知道为什么,但是 VS2013 显示了一个编译错误。
有人有什么想法吗?
int nLgCombi = 12;
std::vector<std::string> NbrToPlay;
...
int ne = NbrToPlay.size();
int calcnc = boost::math::factorial<int>(ne + 1) / boost::math::factorial<int>(nLgCombi);
错误信息 :
Erreur 1 错误 C2338: !boost::is_integral::value d:\users\XXXXXX\downloads\boost_1_55_0b1\boost_1_55_0b1\boost\math\special_functions\factorials.hpp 32 1 APPS
编辑 :
代码用 double 替换 int:
double dcalcnc = boost::math::factorial<double>(ne +1) / boost::math::factorial<double>(nLgCombi);
错误信息 :
Erreur 1 错误 C2039: 'assert_not_arg' : n'est pas membre de 'boost::mpl' d:\users\XXXXX\downloads\boost_1_55_0b1\boost_1_55_0b1\boost\mpl\aux_\preprocessed\plain\arg.hpp 45 1
Erreur 2 错误 C3861: 'assert_not_arg' : identificateur introuvable d:\users\XXXXX\downloads\boost_1_55_0b1\boost_1_55_0b1\boost\mpl\aux_\preprocessed\plain\arg.hpp 45 1
非常感谢,
此致,
尼克修斯