
Hello, On 18/12/2007, Eames, Andrew <andrew@cognex.com> wrote:
2)
In shared_ptr.hpp
//My compiler doesn't support inline functions with varargs
Replace
<<inline void sp_enable_shared_from_this( shared_count const & /*pn*/, ... ) <<{ <<}
With
inline void sp_enable_shared_from_this( shared_count const & /*pn*/) { } template <class T> void sp_enable_shared_from_this( shared_count const & /*pn*/,T arg1, ... ) { }
Inline should only be used as a hint, so this would qualify as a compiler error, and a pretty odd one at that. Maybe it is a good idea not to use the inline keyword in that compiler (possibly as harsh as #define inline <nothing>) or to request that the compiler writers find out what's causing this? If that is not possible, you might be able to use SFINAE to remove the overload or to make a define for removing it on compilers which have that bug. My first inclination is to fix the compiler as it handles a hint wrongly (and can just ignore it). Regards, Peter