There should not be any bad effects as such, just a loss of functionality.
A member template is a member function that is a template, for example:
struct foo
{
template <typename T>
void i_am_not_supported_sometimes(void);
};
, undefined - , . , " " , , .
smart_ptr, , - -, :
template<class Y>
explicit shared_ptr( Y * p ): px( p ), pn( p )
{
boost::detail::sp_enable_shared_from_this( this, p, p );
}
Y T, .