Opened 4 years ago
Last modified 4 years ago
#13539 new Bugs
Boost Polygon - MSVC 2017 - Ambiguous call to size() function
Reported by: | Owned by: | Lucanus Simonson | |
---|---|---|---|
Milestone: | To Be Determined | Component: | polygon |
Version: | Boost 1.67.0 | Severity: | Regression |
Keywords: | Cc: | Kai, Benndorf |
Description
We are currently switching our compiler from MSVC 2012 to MSVC 2017. Now I have problems compiling out application using Boost Polygon. I get the following error:
c:\khand\win64\include\boost\polygon\polygon_traits.hpp(606): error C2668: "boost::polygon::size": ambiguous call to overloaded function c:\khand\win64\include\boost\polygon\polygon_traits.hpp(467): note: could be "unsigned int64 boost::polygon::size<polygon_type>(const T &)"
with [
polygon_type=DESIGN::GTL::Polygon, T=DESIGN::GTL::Polygon
]
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.13.26128\include\xutility(1611): note: or "unsigned int64 std::size<polygon_type>(const _Container &)" [bei der Verwendung der argumentbezogenen Suche gefunden]
with [
polygon_type=DESIGN::GTL::Polygon, _Container=DESIGN::GTL::Polygon
]
In size() function in polygon_traits.hpp conflicts with the now in C++ standard contained std::size().
I could solve the problem by using the completed name boost:polygon::size() in polygon_traits.hpp. Please see appended diff.
It was not possible to append a file, so the diff comes here: