не константное выражение в range-v3 - PullRequest
0 голосов
/ 22 января 2020

У меня проблема с компиляцией проекта, который использует range-v3. Жалуется на выражение, которое мне кажется постоянным, не постоянным.

[ 47%] Building CXX object src/foo.cpp.o
In file included from /home/jjcasmar/usr/local/include/range/v3/view/iota.hpp:29,
                 from /home/jjcasmar/usr/local/include/range/v3/view/indices.hpp:24,
                 from /home/jjcasmar/usr/local/include/range/v3/view.hpp:47,
                 from /home/jjcasmar/projects/project/src/foo.cpp:78:
/home/jjcasmar/usr/local/include/range/v3/iterator/diffmax_t.hpp:372:37: error: ‘(6.5e+1 * 3.0102999600000002e-1)’ is not a constant expression
             static_cast<int>(digits * 0.301029996); // digits * std::log10(2)
                              ~~~~~~~^~~~~~~~~~~~~
make[3]: *** [src/deSim/CMakeFiles/deSim.dir/build.make:1389: src/foo.cpp.o] Error 1

Это происходит с использованием компиляции g cc -8 и g cc -9 с использованием std = gnu ++ 14 и с мастером range-v3 и ветвями 0.9.1.

Раньше это работало, но вдруг перестало работать. Что может быть не так?

...