Quantuccia
Quantuccia copied to clipboard
weird compilation error when including basisincompleteordered.hpp from all.hpp
when having this in ql/math/matrixutilities/all.hpp,
#include <ql/math/matrixutilities/basisincompleteordered.hpp> // causes weird compile error
I get this compiler error (e.g. when doing make in the check subfolder)
g++ -Wall -Wno-unknown-pragmas -Werror -std=c++03 -I.. checkduplicatesymbols1.cpp checkduplicatesymbols2.cpp main.cpp -o main
In file included from checkduplicatesymbols1.cpp:1:
In file included from ../ql/quantlib.hpp:39:
In file included from ../ql/math/all.hpp:35:
In file included from ../ql/math/matrixutilities/all.hpp:1:
In file included from ../ql/math/matrixutilities/basisincompleteordered.hpp:25:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/valarray:3766:53: error:
'value_type' is a private member of
'boost::iterators::detail::operator_brackets_proxy<boost::iterators::permutation_iterator<std::__1::__wrap_iter<double *>,
std::__1::__wrap_iter<unsigned long *> > >'
__val_expr<_BinaryOp<multiplies<typename _Expr::value_type>,
^
../ql/methods/montecarlo/brownianbridge.hpp:114:42: note: while substituting deduced template arguments into function template
'operator*' [with _Expr =
boost::iterators::detail::operator_brackets_proxy<boost::iterators::permutation_iterator<std::__1::__wrap_iter<double *>,
std::__1::__wrap_iter<unsigned long *> > >]
output[size_-1] = stdDev_[0] * begin[0];
^
../ql/models/marketmodels/browniangenerators/sobolbrowniangenerator.hpp:255:25: note: in instantiation of function template
specialization 'QuantLib::BrownianBridge::transform<boost::iterators::permutation_iterator<std::__1::__wrap_iter<double *>,
std::__1::__wrap_iter<unsigned long *> >, std::__1::__wrap_iter<double *> >' requested here
bridge_.transform(boost::make_permutation_iterator(
^