घोषित करते समय" अपरिभाषित टेम्पलेट का लागू तत्कालता "मुझे कुछ कोड मिला है जिसमें मुझे टेम्पलेट क्लास को अग्रेषित करने की घोषणा की जा रही है (या कम से कम, आगे की घोषणा करना मेरे लिए चीजों को बहुत आसान बना देगा। ..)। मैं इस समस्या मैं बहुत हो रही है का एक सरलीकृत संस्करण में लिखा है मैं इसे यहाँ प्रदर्शित कर सकते हैं:"टेम्पलेट क्लास
template<bool>
class MyTemplateClass;
int main(int argc, char* argv[])
{
MyTemplateClass<false> myTemp; // error here
myTemp.GetTheValue();
return 0;
}
template<bool bShouldMult>
class MyTemplateClass
{
int m_myint;
float m_myfloat;
public:
MyTemplateClass() : m_myint(5), m_myfloat(3.0f) {}
float GetTheValue()
{
return m_myint * (bShouldMult ? m_myfloat : 1.0f);
}
};
त्रुटि मैंने टिप्पणी की लाइन में हो रही है:
Error - implicit instantiation of undefined template 'MyTemplateClass<false>'
क्या अन्य विस्तार क्या मुझे MyTemplateClass की अगली घोषणा में शामिल करने की आवश्यकता है? चूंकि त्रुटि अगली पंक्ति से नहीं आ रही है, इसलिए मुझे लगता है कि यह इस तथ्य के कारण नहीं है कि विधि अपरिभाषित है। मैं जिस कंपाइलर का उपयोग कर रहा हूं वह एलएलवीएम/क्लैंग है, और मै मैक पर संकलन कर रहा हूं।