2010-08-20 8 views
4

J'essaie d'implémenter un programme qui calcule la moyenne et le moment en utilisant les accumulator de la bibliothèque Boost. Voici le code:Calculer la moyenne et le moment dans la bibliothèque Boost

#include <iostream> 

#include <boost/accumulators/accumulators.hpp> 
#include <boost/accumulators/statistics/mean.hpp> 
#include <boost/accumulators/statistics/moment.hpp> 
using namespace boost::accumulators; 

int main() 
{ 
    accumulator_set<double,stats<tag::mean,tag::moment<2> > >acc; 
    //push in some data 
    acc(1.2); 
    acc(2.3); 
    acc(3.4); 
    acc(4.5); 
    std::cout<<"Mean : "<<mean(acc)<<std::endl; 
    std::cout<<"moment : "<<accumulators::moment<2>(acc)<<std::endl; 

    return 0; 
} 

Mais j'obtiens une longue liste d'erreurs (listée ci-dessous). Au lieu des accumulateurs j'ai essayé boost::accumulator parce qu'à la ligne où j'utilise le programme d'accumulateur il me montre une ligne rouge et après utilisation de boost::accumulator une ligne rouge était cachée mais les erreurs sont les mêmes. Comment puis-je résoudre ce problème?

1>------ Build started: Project: examples, Configuration: Debug Win32 ------ 
1>Build started 8/20/2010 11:41:31 PM. 
1>InitializeBuildStatus: 
1> Touching "Debug\examples.unsuccessfulbuild". 
1>ClCompile: 
1> examples.cpp 
1> using native typeof 
1>c:\users\david\desktop\boost_1_44_0\boost\accumulators\framework\extractor.hpp(36): error C2027: use of undefined type 'boost::fusion::void_' 
1>   c:\users\david\desktop\boost_1_44_0\boost\fusion\container\vector\vector_fwd.hpp(16) : see declaration of 'boost::fusion::void_' 
1>   c:\users\david\desktop\boost_1_44_0\boost\mpl\eval_if.hpp(41) : see reference to class template instantiation 'boost::accumulators::detail::accumulator_set_result<AccumulatorSet,Feature>' being compiled 
1>   with 
1>   [ 
1>    AccumulatorSet=boost::accumulators::accumulator_set<double,boost::accumulators::stats<boost::accumulators::tag::mean,boost::accumulators::tag::moment<2>>>, 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>   c:\users\david\desktop\boost_1_44_0\boost\accumulators\framework\extractor.hpp(57) : see reference to class template instantiation 'boost::mpl::eval_if<C,F1,F2>' being compiled 
1>   with 
1>   [ 
1>    C=boost::accumulators::detail::is_accumulator_set<boost::accumulators::accumulator_set<double,boost::accumulators::stats<boost::accumulators::tag::mean,boost::accumulators::tag::moment<2>>>>, 
1>    F1=boost::accumulators::detail::accumulator_set_result<boost::accumulators::accumulator_set<double,boost::accumulators::stats<boost::accumulators::tag::mean,boost::accumulators::tag::moment<2>>>,boost::accumulators::tag::mean>, 
1>    F2=boost::accumulators::detail::argument_pack_result<boost::accumulators::accumulator_set<double,boost::accumulators::stats<boost::accumulators::tag::mean,boost::accumulators::tag::moment<2>>>,boost::accumulators::tag::mean> 
1>   ] 
1>   c:\users\david\documents\visual studio 2010\projects\examples\examples\examples.cpp(17) : see reference to class template instantiation 'boost::accumulators::detail::extractor_result<A,Feature>' being compiled 
1>   with 
1>   [ 
1>    A=boost::accumulators::accumulator_set<double,boost::accumulators::stats<boost::accumulators::tag::mean,boost::accumulators::tag::moment<2>>>, 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>c:\users\david\desktop\boost_1_44_0\boost\accumulators\framework\extractor.hpp(36): error C2146: syntax error : missing ';' before identifier 'type' 
1>c:\users\david\desktop\boost_1_44_0\boost\accumulators\framework\extractor.hpp(36): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 
1>c:\users\david\desktop\boost_1_44_0\boost\accumulators\framework\extractor.hpp(36): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 
1>c:\users\david\documents\visual studio 2010\projects\examples\examples\examples.cpp(17): error C2893: Failed to specialize function template 'detail::extractor_result<Arg1,Feature>::type boost::accumulators::extractor<Feature>::operator()(const Arg1 &) const' 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>   With the following template arguments: 
1>   'boost::accumulators::accumulator_set<Sample,Features>' 
1>   with 
1>   [ 
1>    Sample=double, 
1>    Features=boost::accumulators::stats<boost::accumulators::tag::mean,boost::accumulators::tag::moment<2>> 
1>   ] 
1>c:\users\david\documents\visual studio 2010\projects\examples\examples\examples.cpp(17): error C2780: 'detail::extractor_result<Arg1,Feature>::type boost::accumulators::extractor<Feature>::operator()(const AccumulatorSet &,const A1 &) const' : expects 2 arguments - 1 provided 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>   c:\users\david\desktop\boost_1_44_0\boost\accumulators\framework\extractor.hpp(112) : see declaration of 'boost::accumulators::extractor<Feature>::operator()' 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>c:\users\david\documents\visual studio 2010\projects\examples\examples\examples.cpp(17): error C2780: 'detail::extractor_result<Arg1,Feature>::type boost::accumulators::extractor<Feature>::operator()(const AccumulatorSet &,const A0 &,const A1 &) const' : expects 3 arguments - 1 provided 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>   c:\users\david\desktop\boost_1_44_0\boost\accumulators\framework\extractor.hpp(148) : see declaration of 'boost::accumulators::extractor<Feature>::operator()' 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>c:\users\david\documents\visual studio 2010\projects\examples\examples\examples.cpp(17): error C2780: 'detail::extractor_result<Arg1,Feature>::type boost::accumulators::extractor<Feature>::operator()(const AccumulatorSet &,const A0 &,const A1 &,const A2 &) const' : expects 4 arguments - 1 provided 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>   c:\users\david\desktop\boost_1_44_0\boost\accumulators\framework\extractor.hpp(148) : see declaration of 'boost::accumulators::extractor<Feature>::operator()' 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>c:\users\david\documents\visual studio 2010\projects\examples\examples\examples.cpp(17): error C2780: 'detail::extractor_result<Arg1,Feature>::type boost::accumulators::extractor<Feature>::operator()(const AccumulatorSet &,const A0 &,const A1 &,const A2 &,const A3 &) const' : expects 5 arguments - 1 provided 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>   c:\users\david\desktop\boost_1_44_0\boost\accumulators\framework\extractor.hpp(148) : see declaration of 'boost::accumulators::extractor<Feature>::operator()' 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>c:\users\david\documents\visual studio 2010\projects\examples\examples\examples.cpp(17): error C2780: 'detail::extractor_result<Arg1,Feature>::type boost::accumulators::extractor<Feature>::operator()(const AccumulatorSet &,const A0 &,const A1 &,const A2 &,const A3 &,const A4 &) const' : expects 6 arguments - 1 provided 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>   c:\users\david\desktop\boost_1_44_0\boost\accumulators\framework\extractor.hpp(148) : see declaration of 'boost::accumulators::extractor<Feature>::operator()' 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>c:\users\david\documents\visual studio 2010\projects\examples\examples\examples.cpp(17): error C2780: 'detail::extractor_result<Arg1,Feature>::type boost::accumulators::extractor<Feature>::operator()(const AccumulatorSet &,const A0 &,const A1 &,const A2 &,const A3 &,const A4 &,const A5 &) const' : expects 7 arguments - 1 provided 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>   c:\users\david\desktop\boost_1_44_0\boost\accumulators\framework\extractor.hpp(148) : see declaration of 'boost::accumulators::extractor<Feature>::operator()' 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>c:\users\david\documents\visual studio 2010\projects\examples\examples\examples.cpp(17): error C2780: 'detail::extractor_result<Arg1,Feature>::type boost::accumulators::extractor<Feature>::operator()(const AccumulatorSet &,const A0 &,const A1 &,const A2 &,const A3 &,const A4 &,const A5 &,const A6 &) const' : expects 8 arguments - 1 provided 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>   c:\users\david\desktop\boost_1_44_0\boost\accumulators\framework\extractor.hpp(148) : see declaration of 'boost::accumulators::extractor<Feature>::operator()' 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>c:\users\david\documents\visual studio 2010\projects\examples\examples\examples.cpp(17): error C2780: 'detail::extractor_result<Arg1,Feature>::type boost::accumulators::extractor<Feature>::operator()(const AccumulatorSet &,const A0 &,const A1 &,const A2 &,const A3 &,const A4 &,const A5 &,const A6 &,const A7 &) const' : expects 9 arguments - 1 provided 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>   c:\users\david\desktop\boost_1_44_0\boost\accumulators\framework\extractor.hpp(148) : see declaration of 'boost::accumulators::extractor<Feature>::operator()' 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>c:\users\david\documents\visual studio 2010\projects\examples\examples\examples.cpp(17): error C2780: 'detail::extractor_result<Arg1,Feature>::type boost::accumulators::extractor<Feature>::operator()(const AccumulatorSet &,const A0 &,const A1 &,const A2 &,const A3 &,const A4 &,const A5 &,const A6 &,const A7 &,const A8 &) const' : expects 10 arguments - 1 provided 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>   c:\users\david\desktop\boost_1_44_0\boost\accumulators\framework\extractor.hpp(148) : see declaration of 'boost::accumulators::extractor<Feature>::operator()' 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>c:\users\david\documents\visual studio 2010\projects\examples\examples\examples.cpp(17): error C2780: 'detail::extractor_result<Arg1,Feature>::type boost::accumulators::extractor<Feature>::operator()(const AccumulatorSet &,const A0 &,const A1 &,const A2 &,const A3 &,const A4 &,const A5 &,const A6 &,const A7 &,const A8 &,const A9 &) const' : expects 11 arguments - 1 provided 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>   c:\users\david\desktop\boost_1_44_0\boost\accumulators\framework\extractor.hpp(148) : see declaration of 'boost::accumulators::extractor<Feature>::operator()' 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>c:\users\david\documents\visual studio 2010\projects\examples\examples\examples.cpp(17): error C2780: 'detail::extractor_result<Arg1,Feature>::type boost::accumulators::extractor<Feature>::operator()(const AccumulatorSet &,const A0 &,const A1 &,const A2 &,const A3 &,const A4 &,const A5 &,const A6 &,const A7 &,const A8 &,const A9 &,const A10 &) const' : expects 12 arguments - 1 provided 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>   c:\users\david\desktop\boost_1_44_0\boost\accumulators\framework\extractor.hpp(148) : see declaration of 'boost::accumulators::extractor<Feature>::operator()' 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>c:\users\david\documents\visual studio 2010\projects\examples\examples\examples.cpp(17): error C2780: 'detail::extractor_result<Arg1,Feature>::type boost::accumulators::extractor<Feature>::operator()(const AccumulatorSet &,const A0 &,const A1 &,const A2 &,const A3 &,const A4 &,const A5 &,const A6 &,const A7 &,const A8 &,const A9 &,const A10 &,const A11 &) const' : expects 13 arguments - 1 provided 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>   c:\users\david\desktop\boost_1_44_0\boost\accumulators\framework\extractor.hpp(148) : see declaration of 'boost::accumulators::extractor<Feature>::operator()' 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>c:\users\david\documents\visual studio 2010\projects\examples\examples\examples.cpp(17): error C2780: 'detail::extractor_result<Arg1,Feature>::type boost::accumulators::extractor<Feature>::operator()(const AccumulatorSet &,const A0 &,const A1 &,const A2 &,const A3 &,const A4 &,const A5 &,const A6 &,const A7 &,const A8 &,const A9 &,const A10 &,const A11 &,const A12 &) const' : expects 14 arguments - 1 provided 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>   c:\users\david\desktop\boost_1_44_0\boost\accumulators\framework\extractor.hpp(148) : see declaration of 'boost::accumulators::extractor<Feature>::operator()' 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>c:\users\david\documents\visual studio 2010\projects\examples\examples\examples.cpp(17): error C2780: 'detail::extractor_result<Arg1,Feature>::type boost::accumulators::extractor<Feature>::operator()(const AccumulatorSet &,const A0 &,const A1 &,const A2 &,const A3 &,const A4 &,const A5 &,const A6 &,const A7 &,const A8 &,const A9 &,const A10 &,const A11 &,const A12 &,const A13 &) const' : expects 15 arguments - 1 provided 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>   c:\users\david\desktop\boost_1_44_0\boost\accumulators\framework\extractor.hpp(148) : see declaration of 'boost::accumulators::extractor<Feature>::operator()' 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>c:\users\david\documents\visual studio 2010\projects\examples\examples\examples.cpp(17): error C2780: 'detail::extractor_result<Arg1,Feature>::type boost::accumulators::extractor<Feature>::operator()(const AccumulatorSet &,const A0 &,const A1 &,const A2 &,const A3 &,const A4 &,const A5 &,const A6 &,const A7 &,const A8 &,const A9 &,const A10 &,const A11 &,const A12 &,const A13 &,const A14 &) const' : expects 16 arguments - 1 provided 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>   c:\users\david\desktop\boost_1_44_0\boost\accumulators\framework\extractor.hpp(148) : see declaration of 'boost::accumulators::extractor<Feature>::operator()' 
1>   with 
1>   [ 
1>    Feature=boost::accumulators::tag::mean 
1>   ] 
1>c:\users\david\documents\visual studio 2010\projects\examples\examples\examples.cpp(18): error C2653: 'accumulators' : is not a class or namespace name 
1>c:\users\david\documents\visual studio 2010\projects\examples\examples\examples.cpp(18): error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'overloaded-function' (or there is no acceptable conversion) 
1>   c:\program files\microsoft visual studio 10.0\vc\include\ostream(679): could be 'std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const char *)' [found using argument-dependent lookup] 
1>   with 
1>   [ 
1>    _Elem=char, 
1>    _Traits=std::char_traits<char> 
1>   ] 
1>   c:\program files\microsoft visual studio 10.0\vc\include\ostream(726): or  'std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,char)' [found using argument-dependent lookup] 
1>   with 
1>   [ 
1>    _Elem=char, 
1>    _Traits=std::char_traits<char> 
1>   ] 
1>   c:\program files\microsoft visual studio 10.0\vc\include\ostream(764): or  'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const char *)' [found using argument-dependent lookup] 
1>   with 
1>   [ 
1>    _Elem=char, 
1>    _Traits=std::char_traits<char> 
1>   ] 
1>   c:\program files\microsoft visual studio 10.0\vc\include\ostream(811): or  'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,char)' [found using argument-dependent lookup] 
1>   with 
1>   [ 
1>    _Elem=char, 
1>    _Traits=std::char_traits<char> 
1>   ] 
1>   c:\program files\microsoft visual studio 10.0\vc\include\ostream(937): or  'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const signed char *)' [found using argument-dependent lookup] 
1>   with 
1>   [ 
1>    _Elem=char, 
1>    _Traits=std::char_traits<char> 
1>   ] 
1>   c:\program files\microsoft visual studio 10.0\vc\include\ostream(944): or  'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,signed char)' [found using argument-dependent lookup] 
1>   with 
1>   [ 
1>    _Elem=char, 
1>    _Traits=std::char_traits<char> 
1>   ] 
1>   c:\program files\microsoft visual studio 10.0\vc\include\ostream(951): or  'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const unsigned char *)' [found using argument-dependent lookup] 
1>   with 
1>   [ 
1>    _Elem=char, 
1>    _Traits=std::char_traits<char> 
1>   ] 
1>   c:\program files\microsoft visual studio 10.0\vc\include\ostream(958): or  'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,unsigned char)' [found using argument-dependent lookup] 
1>   with 
1>   [ 
1>    _Elem=char, 
1>    _Traits=std::char_traits<char> 
1>   ] 
1>   c:\program files\microsoft visual studio 10.0\vc\include\ostream(1085): or  'std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const std::error_code &)' [found using argument-dependent lookup] 
1>   with 
1>   [ 
1>    _Elem=char, 
1>    _Traits=std::char_traits<char> 
1>   ] 
1>   c:\program files\microsoft visual studio 10.0\vc\include\ostream(186): or  'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::basic_ostream<_Elem,_Traits> &(__cdecl *)(std::basic_ostream<_Elem,_Traits> &))' 
1>   with 
1>   [ 
1>    _Elem=char, 
1>    _Traits=std::char_traits<char> 
1>   ] 
1>   c:\program files\microsoft visual studio 10.0\vc\include\ostream(192): or  'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::basic_ios<_Elem,_Traits> &(__cdecl *)(std::basic_ios<_Elem,_Traits> &))' 
1>   with 
1>   [ 
1>    _Elem=char, 
1>    _Traits=std::char_traits<char> 
1>   ] 
1>   c:\program files\microsoft visual studio 10.0\vc\include\ostream(199): or  'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::ios_base &(__cdecl *)(std::ios_base &))' 
1>   with 
1>   [ 
1>    _Elem=char, 
1>    _Traits=std::char_traits<char> 
1>   ] 
1>   c:\program files\microsoft visual studio 10.0\vc\include\ostream(206): or  'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::_Bool)' 
1>   with 
1>   [ 
1>    _Elem=char, 
1>    _Traits=std::char_traits<char> 
1>   ] 
1>   c:\program files\microsoft visual studio 10.0\vc\include\ostream(226): or  'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(short)' 
1>   with 
1>   [ 
1>    _Elem=char, 
1>    _Traits=std::char_traits<char> 
1>   ] 
1>   c:\program files\microsoft visual studio 10.0\vc\include\ostream(260): or  'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(unsigned short)' 
1>   with 
1>   [ 
1>    _Elem=char, 
1>    _Traits=std::char_traits<char> 
1>   ] 
1>   c:\program files\microsoft visual studio 10.0\vc\include\ostream(280): or  'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(int)' 
1>   with 
1>   [ 
1>    _Elem=char, 
1>    _Traits=std::char_traits<char> 
1>   ] 
1>   c:\program files\microsoft visual studio 10.0\vc\include\ostream(305): or  'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(unsigned int)' 
1>   with 
1>   [ 
1>    _Elem=char, 
1>    _Traits=std::char_traits<char> 
1>   ] 
1>   c:\program files\microsoft visual studio 10.0\vc\include\ostream(325): or  'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(long)' 
1>   with 
1>   [ 
1>    _Elem=char, 
1>    _Traits=std::char_traits<char> 
1>   ] 
1>   c:\program files\microsoft visual studio 10.0\vc\include\ostream(345): or  'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(unsigned long)' 
1>   with 
1>   [ 
1>    _Elem=char, 
1>    _Traits=std::char_traits<char> 
1>   ] 
1>   c:\program files\microsoft visual studio 10.0\vc\include\ostream(366): or  'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(__int64)' 
1>   with 
1>   [ 
1>    _Elem=char, 
1>    _Traits=std::char_traits<char> 
1>   ] 
1>   c:\program files\microsoft visual studio 10.0\vc\include\ostream(386): or  'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(unsigned __int64)' 
1>   with 
1>   [ 
1>    _Elem=char, 
1>    _Traits=std::char_traits<char> 
1>   ] 
1>   c:\program files\microsoft visual studio 10.0\vc\include\ostream(407): or  'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(float)' 
1>   with 
1>   [ 
1>    _Elem=char, 
1>    _Traits=std::char_traits<char> 
1>   ] 
1>   c:\program files\microsoft visual studio 10.0\vc\include\ostream(427): or  'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(double)' 
1>   with 
1>   [ 
1>    _Elem=char, 
1>    _Traits=std::char_traits<char> 
1>   ] 
1>   c:\program files\microsoft visual studio 10.0\vc\include\ostream(447): or  'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(long double)' 
1>   with 
1>   [ 
1>    _Elem=char, 
1>    _Traits=std::char_traits<char> 
1>   ] 
1>   c:\program files\microsoft visual studio 10.0\vc\include\ostream(467): or  'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(const void *)' 
1>   with 
1>   [ 
1>    _Elem=char, 
1>    _Traits=std::char_traits<char> 
1>   ] 
1>   c:\program files\microsoft visual studio 10.0\vc\include\ostream(487): or  'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::basic_streambuf<_Elem,_Traits> *)' 
1>   with 
1>   [ 
1>    _Elem=char, 
1>    _Traits=std::char_traits<char> 
1>   ] 
1>   while trying to match the argument list '(std::basic_ostream<_Elem,_Traits>, overloaded-function)' 
1>   with 
1>   [ 
1>    _Elem=char, 
1>    _Traits=std::char_traits<char> 
1>   ] 
1>c:\users\david\documents\visual studio 2010\projects\examples\examples\examples.cpp(18): error C2676: binary '<<' : 'boost::accumulators::accumulator_set<Sample,Features>' does not define this operator or a conversion to a type acceptable to the predefined operator 
1>   with 
1>   [ 
1>    Sample=double, 
1>    Features=boost::accumulators::stats<boost::accumulators::tag::mean,boost::accumulators::tag::moment<2>> 
1>   ] 
1> 
1>Build FAILED. 
1> 
1>Time Elapsed 00:00:07.38 
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== 

Répondre

7

Vous devez probablement

#include <boost/accumulators/statistics/stats.hpp> 

Cependant, la construction du même exemple sur Mac OS X et d'obtenir l'erreur suivante:

**** Build of configuration Debug for project Accumulators **** 

make all 
Building file: ../src/Accumulators.cpp 
Invoking: GCC C++ Compiler 
g++ -I/opt/local/include -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/Accumulators.d" -MT"src/Accumulators.d" -o"src/Accumulators.o" "../src/Accumulators.cpp" 
../src/Accumulators.cpp: In function 'int main()': 
../src/Accumulators.cpp:22: error: 'accumulators' has not been declared 
../src/Accumulators.cpp:22: error: no match for 'operator<<' in 'acc << std::endl' 
make: *** [src/Accumulators.o] Error 1 

Alors j'ai changé accumulators::moment<2>(acc) juste moment<2>(acc) et construire D'accord. Code ressemble ci-dessous:

#include <iostream> 
#include <boost/accumulators/accumulators.hpp> 
#include <boost/accumulators/statistics/stats.hpp> 
#include <boost/accumulators/statistics/mean.hpp> 
#include <boost/accumulators/statistics/moment.hpp> 
using namespace boost::accumulators; 

int main() 
{ 
    // Define an accumulator set for calculating the mean and the 
    // 2nd moment ... 
    accumulator_set<double, stats<tag::mean, tag::moment<2> > > acc; 

    // push in some data ... 
    acc(1.2); 
    acc(2.3); 
    acc(3.4); 
    acc(4.5); 

    // Display the results ... 
    std::cout << "Mean: " << mean(acc) << std::endl; 
    std::cout << "Moment: " << moment<2>(acc) << std::endl; 

    return 0; 
} 
2

Outre les en-têtes déjà inclus, vous devez également ajouter:

#include <boost/accumulators/statistics/moment.hpp> 

Ensuite, en plus de l'espace de noms Accumulateurs, ajoutez également l'espace de noms Boost:

using namespace boost; 

Et ensuite compiler avec:

g++ acc.cpp -o acc -I/usr/local/include/boost/ -L/usr/local/lib/ 
+0

'moment.hpp' est inclus dans l'OP. – tacaswell

Questions connexes