Я установил boost (1.60.0) в Linux Mint 17.3 Rosa и попытался скомпилировать пример накопительного аккумулятора (http://www.boost.org/doc/libs/1_60_0/doc/html/accumulators/user_s_guide.html) с помощью gcc-компилятора (v 4.8.4 64 бит) с помощью этой команды:пример накопительных аккумуляторов не компилируется
>g++ -o exaccu exaccumulator.cpp -I/usr/local/lib/boost_1_60_0/
Компиляция не удалась с длинным списком сообщений об ошибках, начиная с:
>exaccumulator.cpp: In function ‘int main()’:
>exaccumulator.cpp:22:32: error: ‘accumulators’ has not been declared
>std::cout << "Moment: " << accumulators::moment<2>(acc) << std::endl;
После поиска accumulators.hpp я изменил аккумуляторы :: моментных < 2> в момент < 2>. Это сделал трюк и компиляция (с теми же флагами). В качестве альтернативы также использовались префиксы «аккумуляторы» с «boost :: аккумуляторами»: момент < 2> ». Поэтому мой вопрос: что-то не так с моей установкой boost или есть опечатка в примере из учебника?
Я представил PR, чтобы исправить пример: https://github.com/boostorg/accumulators/pull/4 – Praetorian