तो मैं कुछ सरल सी ++ अभ्यास कर रहा था और मैंने एक दिलचस्प कामयाबी देखी। बेयर मेटल एक करने के लिए नीचे उबला हुआ निम्नलिखित कोड संकलन बाहर की कोशिश कर सकते:सी ++ में "अच्छा" कीवर्ड?
<file>.cpp: In function ‘int main()’:
<file>.cpp:11: error: expected `;' before ‘n’
<file>.cpp:11: warning: statement is a reference, not call, to function ‘nice’
<file>.cpp:11: warning: statement has no effect
और यह नियमित रूप से जी ++ उपयोग कर रहा था Mac OS X पर:
class nice
{
public:
nice() {}
};
int main()
{
nice n;
return 0;
};
परिणाम एक संकलन त्रुटि है कि कुछ इस तरह चला जाता है , मेरे कुछ दोस्तों ने उबंटू पर भी कोशिश की है, वही परिणाम प्रदान करते हैं।
यह काम "अच्छा" शब्द में झूठ बोलता प्रतीत होता है, क्योंकि इसे पुन: सक्रिय करने से हमें संकलन करने की अनुमति मिलती है। अब, मुझे सी ++ या सी के लिए कीवर्ड लिस्टिंग में "अच्छा" नहीं मिल रहा है, इसलिए मैं सोच रहा था कि अगर किसी को यहां कोई विचार है?
इसके अलावा,
nice n;
समस्या ठीक करता है के बजाय
class nice n;
डाल।
पीएस मैं एक सापेक्ष सी ++ नौसिखिया हूं, और एक्शनस्क्रिप्ट/.NET/जावा/पायथन दुनिया से आया हूं।
अद्यतन:
ठीक है, मेरा बुरा है, मैं भी एक
#include <iostream>
शीर्ष है, जो समस्या के मूल प्रतीत हो रहा है पर
, क्योंकि इसके बिना सब कुछ ठीक काम करता है के लिए किया था।
समस्या की जड़ '#' शामिल नहीं है, लेकिन 'नामस्थान std' का उपयोग कर रहा है! – James
@Autopulated - मुझे नहीं लगता कि यह नामस्थान std है, यह वैश्विक नामस्थान के साथ एक संघर्ष है। में खींच रहा है और यह :: अच्छा() –
Duck
के साथ विरोधाभासी है। ऐसा लगता है कि यह "std" नामस्थान है, जैसा कि कई लोगों ने कहा है। एक बार जब आप इसकी पुष्टि कर लेंगे, तो कृपया उन उत्तरों में से एक को "स्वीकृत" (हरा चेकमार्क) के रूप में चिह्नित करें, जो वास्तव में उत्तर नहीं है। – MatrixFrog