मैं एक C ++ शुरुआती हूं, और मैं पढ़ रहा हूं Bjarne Stroustrup के प्रोग्रामिंग: सिद्धांत और अभ्यास C ++ का उपयोग कर ।
पर अनुभाग में 3.9.2 असुरक्षित रूपांतरण , लेखक ने उल्लेख किया है
जब इनिशलाइज़र एक पूर्णांक शाब्दिक होता है, तो कंपाइलर वास्तविक मान की जाँच कर सकता है और उन मूल्यों को स्वीकार कर सकता है जो संकीर्ण नहीं होते हैं:
int char b1 {1000}; // error: narrowing (assuming 8-bit chars)
मैं इस घोषणा से हैरान हूं। यह दो प्रकार ( int
और char
) का उपयोग करता है । मैंने जावा और स्विफ्ट में इस तरह की घोषणा पहले कभी नहीं देखी थी (दो भाषाएँ जिनसे मैं अपेक्षाकृत परिचित हूँ)। क्या यह एक टाइपो या एक वैध C ++ सिंटैक्स है?