के लिए व्युत्पन्न वर्ग के आधार पर 'टाइपपीफ' का प्रचार करना मैं बेस क्लास को परिभाषित करने की कोशिश कर रहा हूं, जिसमें केवल टाइपपीफ है।'टेम्पलेट'
template<typename T>
class A
{
public:
typedef std::vector<T> Vec_t;
};
template<typename T>
class B : public A<T>
{
private:
Vec_t v; // fails - Vec_t is not recognized
};
बी में मुझे एक त्रुटि क्यों मिली है कि Vec_t पहचाना नहीं गया है और मुझे इसे स्पष्ट रूप से लिखना है?
typename A<T>::Vec_t v;
सटीक अनुलिपि यह घोषणा करने की जरूरत है: http: // stackoverflow.com/questions/1567730/inheritance-and-templates-in-c-why-are-methods-invisible –
ठीक है, वास्तव में एक सटीक डुप्लिकेट नहीं है क्योंकि जिस पोस्ट में आप किसी विधि के बारे में बात करते हैं, जबकि यह एक प्रकार के बारे में बात करता है। –
टाइपनाम ए :: Vec_t v; ठीक है। के लिए कोई आवश्यकता नहीं –