निम्नलिखित कोड gcc, vC++, और clang द्वारा स्वीकार किया जाता है।क्या यह सी ++ मानक-अनुपालन है जो 'ए <int> :: टेम्पलेट बी <int> x; `का उपयोग कर चर को परिभाषित करने के लिए है?
template<class T>
struct A
{
template<class U>
struct B
{};
};
int main()
{
A<int>::B<int> y; // OK as expected
A<int>::template B<int> x; // Also OK! Is this standard-compliant?
};
यह C++ एक चर A<int>::template B<int> x;
का उपयोग कर परिभाषित करने के लिए मानक अनुरूप है?
बी एक टेम्पलेट-निर्भर प्रकार टेम्पलेट है, इसलिए दूसरा वाक्यविन्यास बिल्कुल सही है। – Quentin
क्या आप मुझे मानक के उस पृष्ठ पर संदर्भित कर सकते हैं जो इस उपयोग को निर्दिष्ट करता है? धन्यवाद। – xmllmx
@peppe डुप्लिकेट नहीं है, क्योंकि आपको यहां 'टेम्पलेट' का उपयोग करने की आवश्यकता नहीं है। – juanchopanza