मैं यह करने के कोशिश कर रहा हूँ:सशर्त (SFINAE) ओवरराइड
struct A
{
virtual int f() const { return 0; }
};
template <typename T>
struct B : A
{
template <typename U = T,
typename std::enable_if<...some condition involving U...>::type>
int f() const { return 1; }
};
चेतावनी, मैं वारिस नहीं कर सकते वर्ग टेम्पलेट्स (स्थिर ओवरराइड उपयोग करें)। क्या इस तरह के निर्माण की अनुमति है और क्या टेम्पलेट सदस्य बी :: एफ() सदस्य ए :: एफ() को ओवरराइड कर सकता है?
अद्भुत विचार, पूरी तरह से काम करता है। – user1095108