
21 Jan
2010
21 Jan
'10
1:36 a.m.
Stefan Strasser <strasser <at> uni-bremen.de> writes:
I'm not sure why that is, static_pointer_cast is an overload without any SFINAE involvement
I think it trying to instantiate all the overloads for the static_pointer_cast before deciding which one to use. And it fails with overloads for intrusive_ptr<void>, which is in my opinion is the case of SFINAE, isn't it?
that should still match to shared_ptr, but the workaround is simple: remove the unnecessary "void" template argument in get_concrete.
It does work. Thanks. Gennadiy