2011-06-06 11 views
17

मैं एक फ़ाइल में निम्न कोड का सामना करना पड़ा (हेडर फाइल की तरह दिखता है) जीसीसी 4.5.1 के iomanip:सी में एक गुंजाइश लौट ++

inline _Setbase 
setbase(int __base) 
{ return { __base }; } 

एक गुंजाइश (ब्लॉक) लौटने की भाषा परिभाषा क्या है?

उत्तर

17

मुझेके लिए सी ++ 0x में नया वाक्यविन्यास जैसा लगता है।

+1

समान हेडर फाइल में परिभाषित मुझे लगता है कि यह सिर्फ सामान्य struct प्रारंभ है निर्माण करती है (मान्य सी होना चाहिए साथ ही साथ)। – Joseph

+1

जरूरी नहीं है। यदि '_Setbase' सादा-पुराना डेटा है, तो उसे C++ 0x की आवश्यकता नहीं है। वास्तव में हेडर का उपयोग तब भी किया जाता है जब सी ++ 0x फीचर्स चालू नहीं होते हैं, इसलिए यह उन पर भरोसा नहीं कर सकता है। –

+3

आप पी + प्रकार के साथ भी C++ 03 में ऐसा नहीं कर सकते हैं, क्योंकि आपको इस संदर्भ में कुल प्रारंभकर्ता का उपयोग करने की अनुमति नहीं है। आप अपने लिए जांच सकते हैं: http://ideone.com/PHX5y, टिप्पणी की गई पंक्ति सी ++ 03 में काम करेगी। –

6

यह एक ब्लॉक नहीं लौटा रहा है। इस प्रकार का _Setbase की एक वस्तु के रूप में

struct _Setbase { int _M_base; }; 
संबंधित मुद्दे