मुझे कुछ प्रकार के लिए टेम्प्लेट सदस्य फ़ंक्शन को विशेषज्ञ बनाने की आवश्यकता है (चलो डबल कहते हैं )। यह ठीक काम करता है जबकि क्लास Xखुद एक टेम्प्लेट क्लास नहीं है, लेकिन जब मैं इसे बनाता हूं तो जीसीसी कंपाइल-टाइम एरर देना शुरू कर देता है।
#include <iostream>
#include <cmath>
template <class C> class X
{
public:
template <class T> void get_as();
};
template <class C>
void X<C>::get_as<double>()
{
}
int main()
{
X<int> x;
x.get_as();
}
यहाँ त्रुटि संदेश है
source.cpp:11:27: error: template-id
'get_as<double>' in declaration of primary template
source.cpp:11:6: error: prototype for
'void X<C>::get_as()' does not match any in class 'X<C>'
source.cpp:7:35: error: candidate is:
template<class C> template<class T> void X::get_as()
मैं इसे कैसे ठीक कर सकता हूं और यहां क्या समस्या है?
अग्रिम में धन्यवाद।