मैं एक साधारण कंटेनर की है। अब, जब मैं फ़ंक्शन के रिटर्न-प्रकार का जिक्र कर रहा हूं, तो मुझे लगता है कि यह list<nodeType>::node*
होना चाहिए। क्या यह सही है? जब मैं समारोह इनलाइन परिभाषित करते हैं, यह पूरी तरह काम करता है:टेम्पलेट्स और नेस्टेड वर्गों/संरचनाओं
template <class nodeType> list {
public:
struct node {
nodeType info;
node* next;
};
node* _search {
node* temp;
// search for the node
return temp;
}
};
लेकिन, अगर मैं कक्षा के बाहर समारोह को परिभाषित,
template <class nodeType> list<nodeType>::node* list<nodeType>::_search() {
//function
}
यह काम नहीं करता। कंपाइलर Expected constructor before list<nodeType>::_search
या कुछ कहकर एक त्रुटि देता है। त्रुटि इस तरह कुछ है। मेरे पास एक मशीन नहीं है जिस पर मैं वर्तमान में इसका परीक्षण कर सकता हूं।
किसी भी मदद की ईमानदारी से सराहना की जाती है।
अधिक, बहुत geeky, विवरण सी ++ एफएक्यू लाइट में पाया जा सकता है: http://www.parashift.com/c++-faq-lite/templates.html#faq-35.18 –
मदद के लिए बहुत बहुत धन्यवाद .. यह अब पूरी तरह से काम करता है। धन्यवाद फिर से .. –
एफएक्यू के लिए अद्यतन लिंक: https://isocpp.org/wiki/faq/templates#dependent-name-lookup-types – Ashe