निम्नलिखित कोड पर विचार करें:मुझे सदस्य को पॉइंटर तक पहुंच नहीं मिल सकती है। क्यूं कर?
template<class T, class F> struct X {};
template<class T, class F, T F::* m> struct Y {};
struct Foo {
int member;
typedef X<int, Foo> x_type; // works well
typedef Y<int, Foo, &Foo::member> y_type; // ERROR
};
typedef Y<int, Foo, &Foo::member> y_type2; // OK
संकलक त्रुटि उत्पन्न क्यों करता है? (वीएस -2008)
नया
मैंने इस बग को connect.microsoft.com पर पोस्ट किया है।
क्या संकलक आप उपयोग कर रहे है? G ++ 4.3.3 के साथ कोई त्रुटि नहीं है। – sth
संकलक द्वारा लौटाई गई त्रुटि क्या है? – luc
मैं "वाई" टेम्पलेट की घोषणा को समझ नहीं सकता। टेम्पलेट पैरामीटर या तो प्रकार या अभिन्न मूल्य हैं। "टीएफ :: * एम" एक प्रकार नहीं है, जिसके साथ आप अपने टेम्पलेट को पैरामीट्रिज कर सकते हैं ... जब आप "वाई" लिखते हैं, तो अंतिम पैरामीटर एक प्रकार नहीं है और नहीं एक अभिन्न मूल्य। यह सदस्य के लिए एक सूचक है। तो, मैं बेकार हूं, इसे अस्वीकार कर दिया जाना चाहिए ... –
SadSido