我正在尝试在我的日食上设置boost库。我有 Windows 7的 Eclipse Luna 提升1.59 MINGW
我已经使用b2命令编译了boost库。 我还在路径和符号中为我的项目添加了库。 在minGW链接器中,我有-L选项的“boostdir”\ stage \ lib路径。 在-l选项中我尝试了很多组合 -boost_filesystem -boost_system -促进 -...
问题在于:
#include<iostream>
#include <boost/math/distributions/chi_squared.hpp>
int main() {
double pvalue = 2.667;
boost::math::chi_squared_distribution aDist(1);
pvalue = boost::math::cdf(aDist,pvalue);
std::cout << "The p-value is : "<<pvalue << std::endl;
return 0;
}
编译器给了我:
16:24:25 **** Incremental Build of configuration Debug for project test2 ****
Info: Internal Builder is used for build
g++ "-IC:\\MinGW\\boost_1_59_0" -O0 -g3 -Wall -c -fmessage-length=0 -o "src\\test2.o" "..\\src\\test2.cpp"
..\src\test2.cpp: In function 'int main()':
..\src\test2.cpp:6:40: error: missing template arguments before 'aDist'
boost::math::chi_squared_distribution aDist(1);
^
..\src\test2.cpp:6:40: error: expected ';' before 'aDist'
..\src\test2.cpp:7:28: error: 'aDist' was not declared in this scope
pvalue = boost::math::cdf(aDist,pvalue);
^
16:24:28 Build Finished (took 3s.531ms)
第二个错误是正确的,因为它是由第6行引起的。 但自动完成日食工作,所以他可以以某种方式看到图书馆!
错误来自哪里?
答案 0 :(得分:1)
boost::math::chi_squared_distribution
是一个类模板。您需要为它提供模板参数。例如,
boost::math::chi_squared_distribution<some_floating_point_type> mydist(1);