nojhan / paradiseo

An evolutionary computation framework to (automatically) build fast parallel stochastic optimization solvers
https://nojhan.github.io/paradiseo/
Other
92 stars 33 forks source link

no matching function for call to std::swap with vector of bool #71

Open ropinho opened 10 months ago

ropinho commented 10 months ago

Hi, I'm experienced an issue when compiling the libraries in the version v3.0.0 on Linux 6.1.51-1-lts x86_64. The function std::swap not accepts the eoBit<...> as arguments, it not did convert to expected types.

/home/ronaldd/Workspace/cvrp-metaheuristics-loggi/.temp/paradiseo-3.0.0/eo/src/ga/eoBitOp.h:367:24: error: no matching function for call to ‘swap(std::vector<bool>::reference, std::vector<bool>::reference)’
  367 |               std::swap(chrom1[i], chrom2[i]);
      |               ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/13.2.1/bits/stl_pair.h:61,
                 from /usr/include/c++/13.2.1/bits/stl_algobase.h:64,
                 from /usr/include/c++/13.2.1/bits/specfun.h:43,
                 from /usr/include/c++/13.2.1/cmath:3699,
                 from /usr/include/c++/13.2.1/math.h:36,
                 from /home/ronaldd/Workspace/cvrp-metaheuristics-loggi/.temp/paradiseo-3.0.0/eo/src/ga/../utils/eoData.h:28,
                 from /home/ronaldd/Workspace/cvrp-metaheuristics-loggi/.temp/paradiseo-3.0.0/eo/src/ga/../eoObject.h:30:
/usr/include/c++/13.2.1/bits/move.h:189:5: note: candidate: ‘std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) [with _Tp = _Bit_reference; _Require<__not_<__is_tuple_like<_Tp> >, is_move_constructible<_Tp>, is_move_assignable<_Tp> > = void]’ (near match)