Opened 15 years ago
Closed 14 years ago
#1671 closed Bugs (fixed)
type mismatch of buffer size parameter causes overload resolution to fail
Reported by: | Jonathan Turkanis | Owned by: | Jonathan Turkanis |
---|---|---|---|
Milestone: | Boost 1.36.0 | Component: | iostreams |
Version: | Boost 1.34.1 | Severity: | Problem |
Keywords: | Cc: |
Description
See http://article.gmane.org/gmane.comp.lib.boost.user/33728.
Change documentation so that buffer size parameters have type int, or disable forwarding constructors when first parameter matches device type and second parameter is integral
Note:
See TracTickets
for help on using tickets.
I have disabled the forwarding constructors and open() overloads in detail/forward.hpp when the first template parameter is identical to the underlying device type. This is a little too broad, since it fails to check whether the remaining parameters are integral; I judged that device constructors whose first parameter is an instance of the device itself would be pretty rare.
I was able to reproduce the error with VC8.0 on a 32-bit OS with this code:
The modification to forward.hpp allows the above to compile.
See [46047]