के रूप में टेम्पलेट क्लास ले रहा है, मैं निम्नलिखित कोड से जूझ रहा हूं। असल में, मेरे पास कक्षा फू और नेस्टेड क्लास बार है, और अब मैं क्लास बार ऑब्जेक्ट के पॉइंटर को फ़ंक्शन पर पास करना चाहता हूं, लेकिन यह संकलित नहीं होता है। क्या कोई इसमें मेरी सहायता कर सकता है? धन्यवाद।सी ++ टेम्पलेट फ़ंक्शन पैरामीटर
template <typename T>
struct Foo
{
struct Bar
{
T data_;
};
Bar bar_;
};
template <typename T>
void func(Foo<T>::Bar* bar) // Why is this line wrong???
{
}
int main()
{
Foo<int> foo;
foo.bar_.data_ = 17;
func(&foo.bar_);
return 0;
}
के संभावित डुप्लिकेट [सी ++, टेम्पलेट तर्क निष्कर्ष निकाला नहीं जा सकता है] (http://stackoverflow.com/questions/6060824/c-template-argument-can के रूप में -नोट-बी-डिस्प्लेटेड) –
(कम से कम, डुप्लिकेट एक बार स्पष्ट 'टाइपनाम' समस्या को हल करता है, जो वीसी ++ शायद सामान्य रूप से सामान्य रूप से पर्ची छोड़ देगा) –