में डिफॉल्ट-निर्मित ऑब्जेक्ट में चर घोषित नहीं किया गया है उपर्युक्त कोड काम नहीं करता है। वास्तव में Foo
के निर्माता में डिफ़ॉल्ट निर्मित ऑब्जेक्ट f
शिकायत करता है कि मान val
दायरे में घोषित नहीं किया गया है। मुझे समझ में नहीं आता कि यह क्यों घोषित नहीं किया गया है।कन्स्ट्रक्टर
struct Foo2
{
Foo2(int val)
{}
};
struct Foo
{
Foo(int val, Foo2 f = Foo2(val))
{}
};
int main()
{
Foo f(1);
return 0;
}
आप डिफ़ॉल्ट मापदंडों में पैरामीटर का उपयोग नहीं कर सकते। – chris
इस प्रश्न में कोई डिफ़ॉल्ट निर्माता नहीं है। –