क्यों मैं एक संकलक त्रुटि यहाँ प्राप्त:पूर्णांक अतिप्रवाह अपवाद
int a = 2147483647 + 10;
और नहीं यहाँ, अगर मैं एक ही कार्य को करते हूँ:
int ten = 10;
int b = 2147483647 + ten;
मैं के उपयोग की जाँच की सीख रहा हूँ और एमएसडीएन वेबसाइट स्पष्ट नहीं है कि ओवरफ्लोएक्सप्शन पहले कोड स्निपेट में क्यों उठाया गया है:
द्वारा गलती, एक अभिव्यक्ति जिसमें केवल स्थिर मान होते हैं, संकलक त्रुटि का कारण बनता है यदि अभिव्यक्ति गंतव्य प्रकार की सीमा के बाहर एक मान उत्पन्न करती है। यदि अभिव्यक्ति में एक या अधिक गैर-स्थिर मान हैं, तो कंपाइलर ओवरफ़्लो का पता नहीं लगाता है।
यह केवल व्यवहार नहीं बल्कि उस व्यवहार के लिए कारणों बताते हैं। मैं जानना चाहता हूं कि हुड के नीचे क्या होता है।
आपको पहले मामले में अपवाद नहीं, एक कंपाइलर त्रुटि मिल रही है। – CodesInChaos