$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [Boost-users] compile problem of boost::accumulators
From: Kim Kuen Tang (kuentang_at_[hidden])
Date: 2008-10-23 15:11:04
If you are student u can legal download msvc 2008 on 
https://downloads.channel8.msdn.com/
Have fun
with regards,
Kim Tang
Ivy Ye schrieb:
> hi,
>  
> I am a newbie in this forum. I just installed boost and want to solve 
> some statistic problems. My system is Windows Vista and compiler is 
> MSVC 6.0
>  
> At first I try to compile the "hello world" program in the 
> boost::accumulators user guide page, but I got some compiler errors:
>  
> The program is  
>  
> #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;
> }
>  
>  
> The error I get from compiler is
>  
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(43) 
> : error C2989: 'tag<T>' : template class has already been defined as a 
> non-template class
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(43) 
> : error C2908: explicit specialization; 'tag<T>' has already been 
> instantiated from the primary template
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(43) 
> : error C2988: unrecognizable template declaration/definition
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(48) 
> : error C2989: 'tag<T>' : template class has already been defined as a 
> non-template class
>         s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(43) 
> : see declaration of 'tag<T>'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(48) 
> : error C2908: explicit specialization; 'tag<T>' has already been 
> instantiated from the primary template
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(48) 
> : error C2988: unrecognizable template declaration/definition
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(53) 
> : error C2989: 'tag<T>' : template class has already been defined as a 
> non-template class
>         s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(48) 
> : see declaration of 'tag<T>'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(53) 
> : error C2908: explicit specialization; 'tag<T>' has already been 
> instantiated from the primary template
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(53) 
> : error C2988: unrecognizable template declaration/definition
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(107) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(107) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(108) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(108) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(109) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(109) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(110) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(110) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(111) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(111) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(112) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(112) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(113) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(113) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(114) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(114) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(115) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(115) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(116) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(116) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(117) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(117) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(119) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(119) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(120) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(120) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(121) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(121) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(122) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(122) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(123) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(123) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(124) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(124) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(126) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(127) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(128) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(129) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(137) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(139) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(141) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(143) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(145) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(147) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(149) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(151) 
> : error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\numeric\functional_fwd.hpp(198) 
> : error C2039: 'type' : is not a member of 'lazy_disable_if<struct 
> boost::is_const<T>,struct ?? :: ?? >'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(82) : 
> error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(82) : 
> error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(98) : 
> error C2182: '__formal' : illegal use of type 'void'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(120) 
> : error C2039: 'apply' : is not a member of 'mpl'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(120) 
> : error C2143: syntax error : missing ';' before '<'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(120) 
> : error C2501: 'apply' : missing storage-class or type specifiers
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(120) 
> : error C2059: syntax error : ';'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(120) 
> : error C2059: syntax error : '<'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(120) 
> : error C2039: 'type' : is not a member of '`global namespace''
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(124) 
> : error C2039: 'apply' : is not a member of 'mpl'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(124) 
> : error C2039: 'type' : is not a member of '`global namespace''
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(127) 
> : error C2954: template definitions cannot nest
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(128) 
> : error C2039: 'apply' : is not a member of 'mpl'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(128) 
> : error C2143: syntax error : missing ';' before '<'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(128) 
> : error C2501: 'apply' : missing storage-class or type specifiers
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(128) 
> : error C2086: 'apply' : redefinition
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(128) 
> : error C2059: syntax error : ';'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(128) 
> : error C2059: syntax error : '<'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(128) 
> : error C2039: 'type' : is not a member of '`global namespace''
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(154) 
> : error C2039: 'apply' : is not a member of 'mpl'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(154) 
> : error C2039: 'type' : is not a member of '`global namespace''
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(154) 
> : error C2954: template definitions cannot nest
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(154) 
> : error C2039: 'apply' : is not a member of 'mpl'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(154) 
> : error C2143: syntax error : missing ';' before '<'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(154) 
> : error C2501: 'apply' : missing storage-class or type specifiers
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(154) 
> : error C2086: 'apply' : redefinition
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(154) 
> : error C2059: syntax error : ';'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(154) 
> : error C2059: syntax error : '<'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(154) 
> : error C2039: 'type' : is not a member of '`global namespace''
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(154) 
> : error C2039: 'apply' : is not a member of 'mpl'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(154) 
> : error C2039: 'type' : is not a member of '`global namespace''
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(154) 
> : error C2954: template definitions cannot nest
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(154) 
> : error C2039: 'apply' : is not a member of 'mpl'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(154) 
> : error C2143: syntax error : missing ';' before '<'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(154) 
> : error C2501: 'apply' : missing storage-class or type specifiers
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(154) 
> : error C2086: 'apply' : redefinition
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(154) 
> : error C2059: syntax error : ';'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(154) 
> : error C2059: syntax error : '<'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(154) 
> : error C2039: 'type' : is not a member of '`global namespace''
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(154) 
> : error C2039: 'apply' : is not a member of 'mpl'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(154) 
> : error C2039: 'type' : is not a member of '`global namespace''
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(154) 
> : error C2954: template definitions cannot nest
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(154) 
> : error C2039: 'apply' : is not a member of 'mpl'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(154) 
> : error C2143: syntax error : missing ';' before '<'
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(154) 
> : error C2501: 'apply' : missing storage-class or type specifiers
> s:\program 
> files\boost\boost_1_36_0\boost\accumulators\accumulators_fwd.hpp(154) 
> : fatal error C1003: error count exceeds 100; stopping compilation
> Error executing cl.exe.
> accExam.obj - 102 error(s), 0 warning(s)
> ---------------------------
>  
> can someone tell me what is wrong?
>  
> Many thanks,
> Ivy
>  
>  
> ------------------------------------------------------------------------
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://listarchives.boost.org/mailman/listinfo.cgi/boost-users