struct X
{
X() { std::cout << "X()\n"; }
X(int) { std::cout << "X(int)\n"; }
};
const int answer = 42;
int main()
{
X(answer);
}
मुझे उम्मीद है कि यह या तो प्रिंट होगा
X(int), क्योंकिX(answer);से या केintलिए एक डाली के रूप में व्याख्या की जा सकती हैX- कुछ भी नहीं, क्योंकि
X(answer);एक चर की घोषणा के रूप में व्याख्या की जा सकती है।
हालांकि, यह प्रिंट करता हैX() , और मुझे नहीं पता कि क्यों X(answer);डिफ़ॉल्ट निर्माता को कॉल करेगा।
बोनस अंक: एक परिवर्तनीय घोषणा के बजाय अस्थायी पाने के लिए मुझे क्या बदलना होगा?