अस्वीकरण के भीतर टेम्पलेट फ़ंक्शन कॉल करना अस्वीकरण: निम्न प्रश्न शायद इतना आसान है कि मैं पहले जवाब को देखकर चौंक गया। इसके अलावा, मैं किसी भी डुप्लिकेट प्रश्नों के लिए माफ़ी मांगना चाहता हूं - सिंटैक्टिक समस्याओं को मौखिक स्पष्टीकरण की पहचान करना हमेशा आसान नहीं होता है और इस प्रकार उनके लिए खोज करना आसान नहीं है ...टेम्पलेट वर्ग
लेकिन पर्याप्त है। मेरे पास दो टेम्पलेटेड क्लास हैं, उनमें से एक में टेम्पलेट सदस्य फ़ंक्शन है, अन्य क्लास उस फ़ंक्शन को कॉल करने का प्रयास करती है। एक न्यूनतम उत्पादन त्रुटि उदाहरण नीचे दिखाया गया है:
#include <iostream>
template <typename T>
class Foo {
public:
Foo() {
}
template <typename outtype>
inline outtype bar(int i, int j, int k = 1) {
return k;
}
};
template <typename T>
class Wrapper {
public:
Wrapper() {
}
double returnValue() {
Foo<T> obj;
return obj.bar<double>(1,2); // This line is faulty.
}
};
int main() {
Wrapper<char> wr;
double test = wr.returnValue();
std::cout << test << std::endl;
return 0;
}
संकलन समय, इस
expected primary-expression before 'double'
expected ';' before 'double'
expected unqualified-id before '>' token
जहां सभी त्रुटि संदेश linke कोड में चिह्नित के निर्देश पर कर रहे हैं का परिणाम है।
मैं आपके विचारों के लिए पहले ही धन्यवाद देता हूं, इससे कोई फर्क नहीं पड़ता कि वे कितने स्पष्ट हैं।
इसकी योग्यता के कारण स्पष्ट योग्यता की आवश्यकता नहीं है। टेम्पलेट के बिना हमें एक वाक्यविन्यास त्रुटि मिलती है, जिसे माना जाएगा <क्योंकि ऑपरेटर कम से कम है .... "13.6 स्ट्रास्ट्रुप, स्पेक संस्करण 935-936 में भाषा लेखक के दृष्टिकोण को भी देखें।" – bruziuz