Я установил boost (1.60.0) на Linux Mint 17.3 Rosa и попытался скомпилировать пример аккумулятора boost (http://www.boost.org/doc/libs/1_60_0/doc/html/accumulators/user_s_guide.html) с помощью компилятора gcc (версия 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 я изменил accumulators::moment‹2> на moment‹2>. Это сработало, и компиляция (с теми же флагами) прошла успешно. В качестве альтернативы, префикс «аккумуляторы» с «boost::accumulators::moment‹2>» тоже работал. Итак, мой вопрос: что-то не так с моей установкой boost или в примере из учебника есть опечатка?