इस प्रोग्राम को ग़लती से तीन C ++ कंपाइलर द्वारा अस्वीकार क्यों किया गया है?


468

मुझे C ++ प्रोग्राम के संकलन में कुछ कठिनाई हो रही है जो मैंने लिखा है।

यह कार्यक्रम बहुत ही सरल है और, मेरी जानकारी के अनुसार, C ++ मानक में उल्लिखित सभी नियमों के अनुरूप है। मैंने ISO / IEC 14882: 2003 की संपूर्णता को दो बार पढ़ा है सुनिश्चित करने के लिए।

कार्यक्रम इस प्रकार है:

यहाँ छवि विवरण दर्ज करें

इस कार्यक्रम को विजुअल C ++ 2010 के साथ संकलित करने का प्रयास करने पर मुझे प्राप्त होने वाला आउटपुट है:

c:\dev>cl /nologo helloworld.png
cl : Command line warning D9024 : unrecognized source file type 'helloworld.png', object file assumed
helloworld.png : fatal error LNK1107: invalid or corrupt file: cannot read at 0x5172

खारिज कर दिया, मैंने जी ++ 4.5.2 की कोशिश की, लेकिन यह समान रूप से अप्रभावी था:

c:\dev>g++ helloworld.png
helloworld.png: file not recognized: File format not recognized
collect2: ld returned 1 exit status

मुझे लगा कि क्लैंग (संस्करण 3.0 ट्रंक 127530) को काम करना चाहिए, क्योंकि यह अपने मानकों के अनुरूप होने के लिए बहुत प्रशंसनीय है। दुर्भाग्यवश, इसने मुझे इसके सुंदर, हाइलाइट किए गए त्रुटि संदेशों में से एक भी नहीं दिया:

c:\dev>clang++ helloworld.png
helloworld.png: file not recognized: File format not recognized
collect2: ld returned 1 exit status
clang++: error: linker (via gcc) command failed with exit code 1 (use -v to see invocation)

सच कहूं तो, मुझे नहीं पता कि इनमें से कोई भी त्रुटि संदेश का क्या मतलब है।

कई अन्य C ++ प्रोग्रामों में .cpp एक्सटेंशन के साथ सोर्स फाइल्स होती हैं , इसलिए मुझे लगा कि शायद मुझे अपनी फाइल का नाम बदलने की जरूरत है। मैंने इसका नाम बदलकर helloworld.cpp कर दिया , लेकिन इससे कोई मदद नहीं मिली। मुझे लगता है कि क्लैंग में एक बहुत ही गंभीर बग है क्योंकि जब मैंने इसका उपयोग नामांकित कार्यक्रम को संकलित करने की कोशिश की, तो यह फ़्लिप हो गया, "84 चेतावनियां और 20 त्रुटियां उत्पन्न हुई"। और मेरे कंप्यूटर को बहुत बीप कर दिया!

मैंने यहाँ क्या गलत किया है? क्या मैंने C ++ मानक के कुछ महत्वपूर्ण हिस्से को याद किया है? या सभी तीन संकलक वास्तव में सिर्फ इतना टूट गए हैं कि वे इस सरल कार्यक्रम को संकलित नहीं कर सकते हैं?

जवाबों:


173

मानक में, the2.1 / 1 निर्दिष्ट करता है:

यदि आवश्यक हो, तो मूल स्रोत वर्ण सेट (एंड-ऑफ-लाइन संकेतकों के लिए नई-पंक्ति वर्णों को लागू करना) में भौतिक स्रोत फ़ाइल वर्णों को क्रियान्वित-परिभाषित तरीके से मैप किया जाता है।

आपका कंपाइलर उस प्रारूप का समर्थन नहीं करता है (उर्फ इसे मूल स्रोत वर्ण सेट पर मैप नहीं कर सकता है ), इसलिए यह आगे के प्रसंस्करण चरणों में नहीं जा सकता, इसलिए त्रुटि। यह पूरी तरह से संभव है कि आपका कंपाइलर इमेज से लेकर बेसिक सोर्स कैरेक्टर सेट तक मैपिंग को सपोर्ट करे, लेकिन इसकी आवश्यकता नहीं है।

चूंकि यह मानचित्रण कार्यान्वयन-परिभाषित है, इसलिए आपको फ़ाइल के प्रारूप का समर्थन करने के लिए अपने कार्यान्वयन दस्तावेज़ों को देखना होगा। आमतौर पर, हर प्रमुख कंपाइलर विक्रेता (कैनोनिक रूप से परिभाषित) टेक्स्ट फ़ाइलों का समर्थन करता है: टेक्स्ट एडिटर द्वारा निर्मित कोई भी फाइल, आमतौर पर पात्रों की एक श्रृंखला।


ध्यान दें कि C ++ मानक C मानक (.11.1 / 2) पर आधारित है, और C (99) मानक says1.2 में कहता है:

यह अंतर्राष्ट्रीय मानक निर्दिष्ट नहीं करता है
- वह तंत्र जिसके द्वारा सी प्रोग्राम को डेटा-प्रोसेसिंग सिस्टम द्वारा उपयोग के लिए रूपांतरित किया जाता है;
- वह तंत्र जिसके द्वारा C प्रोग्राम को डाटा-प्रोसेसिंग सिस्टम द्वारा उपयोग के लिए लागू किया जाता है;
- वह तंत्र जिसके द्वारा इनपुट डेटा को C प्रोग्राम द्वारा उपयोग के लिए रूपांतरित किया जाता है;

इसलिए, फिर से, स्रोत फ़ाइलों का उपचार कुछ ऐसा है जिसे आपको अपने संकलक प्रलेखन में खोजने की आवश्यकता है।


23
मुझे लगता है कि वाक्य सबसे अच्छा है। मरियम वेबस्टर डिक्शनरी का कहना है कि पाठ है मूल शब्द और एक प्रश्न के लिखित या मुद्रित काम के रूप या इस तरह के पाठ वाली एक काम । यह स्रोत फ़ाइल स्पष्ट रूप से उस परिभाषा के अंतर्गत आती है। क्या आपको लगता है कि मुझे कोर लैंग्वेज वर्किंग ग्रुप के साथ एक दोष रिपोर्ट दर्ज करनी चाहिए?
जेम्स मैकनेलिस

15
ओह, मैं संदर्भित सभी दस्तावेजों को पढ़ना पूरी तरह से भूल गया। मुझे लगता है कि पैराग्राफ को संदर्भ से बाहर ले जाया जाता है, हालांकि, इसलिए मैं जाकर आईएसओ / आईईसी 9899: 1990 की संपूर्णता को पढ़ूंगा और पूरी तरह से समझने के बाद यहां वापस पोस्ट करूंगा।
जेम्स मैकनेलिस

575

मूल रूप से Overv @ reddit


19
श्रेष्ठ। बीएमपी प्रारूप। विशिष्टता चित्रण। कभी।
टोबियास किंजलर

49
तो ओपी त्रुटि bmp के बजाय png का उपयोग करना था?
subsub

1
इस खूबसूरत जवाब से प्रेरित होकर, मैंने फैसला किया कि मैं ब्रेनफ के लिए कुछ ऐसा ही करूंगा ***: blog.dreasgrech.com/2011/04/…
Andreas


211

आपका <और >, (और ), {और }करते हैं बहुत अच्छी तरह से मिलान करने के लिए प्रतीत नहीं; उन्हें और बेहतर बनाने की कोशिश करें।


44
जब मैं आपको मेरी लिखावट का मजाक बनाने की सराहना नहीं करता, तो यह वास्तविक मुद्दा हो सकता है, और जब मैं नाम बदलकर helloworld.cpp को विजुअल C ++ के साथ संकलित करने की कोशिश करता हूं, तो मुझे जो त्रुटि मिलती है, उसे समझाऊंगा: "घातक त्रुटि C1004: अप्रत्याशित अंत फ़ाइल मिली "मैं फिर से कोशिश करूंगा और जल्द ही रिपोर्ट करूंगा।" धन्यवाद!
जेम्स मैकनेलिस

37
@ जेम्स सुनिश्चित करें कि आप सभी पीएनजी अनुकूलन बंद कर दें। यह डिबगिंग को आसान बनाता है।
विल्हेमटेल 2

5
@ नाम: "अनपेक्षित एंड-ऑफ-फाइल" लगभग निश्चित रूप से इसका मतलब है कि यह आपका है }जो समस्या पैदा कर रहा है। के साथ मिलान पर ध्यान देने की कोशिश करें{
कार्सन63000

156

आप निम्नलिखित पायथन लिपि को आजमा सकते हैं। ध्यान दें कि आपको PIL और pytesser स्थापित करने की आवश्यकता है ।

from pytesser import *
image = Image.open('helloworld.png')  # Open image object using PIL
print image_to_string(image)     # Run tesseract.exe on image

इसका उपयोग करने के लिए, यह करें:

python script.py > helloworld.cpp; g++ helloworld.cpp

110

आप कॉमिक सैंस को एक फॉन्ट के रूप में इस्तेमाल करना भूल गए, इसीलिए इसकी गलतफहमी है।


73
दुर्भाग्य से, यह एकमात्र फ़ॉन्ट है जो मेरे हाथ का समर्थन करता है। यह बहुत दुख की बात होगी अगर मैं इसकी वजह से C ++ में प्रोग्राम नहीं कर पा रहा हूं। क्या आपको लगता है कि जावा इस फ़ॉन्ट का समर्थन करेगा?
जेम्स मैकनेलिस

8
जब भी आप कॉमिक्स खींचने के बारे में सोचते हैं तो आपको कॉमिक सेन्स की आवश्यकता होगी, इसलिए आपको गंभीरता से हाथों को अपग्रेड करने पर विचार करना चाहिए।
शार्पट्यूट

8
C ++ को सुलेख में वर्ष भर प्रशिक्षण की आवश्यकता होती है। यदि आपके पास समय नहीं है, तो Visual Basic या सिर्फ बाइनरी मशीन कोड आज़माएं (आपको बस 0 और 1 का अधिकार प्राप्त करना होगा)।
फ्रैंक ओस्टरफेल

1
@ फ्रेंक सी ++ 0x §42.1 / 1 निर्दिष्ट करता है "सभी तार गॉथिक में होने चाहिए।"
मतीन उल्हाक

75

मैं उस अंतिम ब्रेस के बाद एक नई-लाइन नहीं देख सकता।

जैसा कि आप जानते हैं: "यदि एक स्रोत फ़ाइल जो खाली नहीं है, एक नई-लाइन चरित्र में समाप्त नहीं होती है, ... व्यवहार अपरिभाषित है"।


16
हममम। शुक्र है कि यह हास्यास्पद नियम C ++ 0x में हटा दिया गया है। उस ने कहा, एक ऐसी फाइल को एक नई सीमा के साथ कैसे समाप्त किया जाता है? मुझे लगा कि मैंने पाठ के अंत में पर्याप्त जगह छोड़ दी है (यदि आप स्रोत फ़ाइल को हाइलाइट करते हैं, तो आपको मेरे द्वारा छोड़े गए अतिरिक्त कमरे को देखना चाहिए)। हालांकि टिप के लिए धन्यवाद!
जेम्स मैकनेलिस

8
यदि आपके पास पर्याप्त व्हाट्सएप नहीं है, तो मैं इसे अपने सिस्टम पर संकलित करने का प्रयास कर सकता हूं। मेरे पास चार मॉनिटर हैं इसलिए मैं अपने सबसे बाएं से संकलन करने की कोशिश कर सकता हूं।
टीन मैन

74

यह कार्यक्रम मान्य है - मुझे कोई त्रुटि नहीं मिल सकती है।

मेरा अनुमान है कि आपके मशीन में वायरस है। यदि आप अपनी ड्राइव को पुन: स्वरूपित करते हैं, और ऑपरेटिंग सिस्टम को पुनर्स्थापित करते हैं तो यह सबसे अच्छा होगा।

हमें बताएं कि यह कैसे काम करता है, या यदि आपको पुनर्स्थापना के लिए सहायता की आवश्यकता है।

मुझे वायरस से नफरत है।


17
हां, लिनक्स स्थापित करने का प्रयास करें। मैं आपकी समस्या के लिए विंडोज को दोष देता हूं।
राएवडाल

62

मैंने पाया है कि यह एक जादू मार्कर के साथ मेरे मॉनिटर के ग्लास पर अपना कोड नहीं लिखने में मदद करता है, भले ही यह वास्तव में काला होने पर अच्छा लगता है। स्क्रीन बहुत तेजी से भरती है और फिर जो लोग मुझे क्लीन मॉनीटर देते हैं वे मुझे हर हफ्ते नाम बताते हैं।

मेरे कुछ कर्मचारी (मैं एक प्रबंधक हूं) मुझे उन रेड पैड कंप्यूटरों में से एक खरीदने के लिए ठग रहे हैं, जिन्हें मैं knobs के साथ रखता हूं। उन्होंने कहा कि मुझे मार्करों की आवश्यकता नहीं होगी और मैं स्क्रीन को पूरी तरह से साफ कर सकता हूं, लेकिन मुझे इसे हिलाते हुए सावधान रहना होगा। मुझे लगा कि यह उस तरह से नाजुक है।

इसलिए मैं स्मार्ट लोगों को हायर करता हूं।


2
एक Wacom Cintiq एक प्रबंधक के लिए बहुत अधिक उपयुक्त है। यह महंगा है, और आपको वास्तव में महत्वपूर्ण लगता है। आपकी कंपनी के किसी भी ग्राफिक डिज़ाइनर की स्थिति बहुत कम होगी, और इसलिए उसे EGA मॉनिटर का उपयोग करना चाहिए। Janitors को CGA मॉनिटर का उपयोग करना चाहिए। प्रोग्रामर को सेकेंड हैंड मोनोक्रोम टर्मिनल का उपयोग करना चाहिए।
स्टीव314

7
मेरे पास लंबे समय से "लाइफ़ लाइक" मॉनिटर था। यह इतना यथार्थवादी था कि आप तैरने वाली मछली की स्क्रीनसेवर को शपथ लेंगे कि वह वास्तविक थी, और छोटे गोताखोर को ऐसा लग रहा था कि वह तैर रहा है। मैं अपने हाथ को गीला रखना चाहता था ताकि नीचे से खजाना सीने में आ सके। एकमात्र समस्या यह थी कि स्क्रीन सेवर हमेशा चालू रहता था और यथार्थवादी बुदबुदाहट की आवाज को सुनना मुश्किल हो जाता था। ओह, और उन्होंने कहा कि रखरखाव के लिए मुझे दैनिक मॉनिटर के शीर्ष में सामान छिड़कना होगा या स्क्रीन सेवर काम करना बंद कर देगा। इसने एक बार, और लड़के को, दो दिन बाद गंध वास्तव में यथार्थवादी थी।
द टिन मैन

59

File format not recognizedआपको अपनी फ़ाइल को ठीक से प्रारूपित करने की आवश्यकता है। इसका मतलब है कि अपने कोड के लिए सही रंगों और फोंट का उपयोग करना। प्रत्येक संकलक के लिए विशिष्ट दस्तावेज देखें क्योंकि ये रंग संकलक के बीच भिन्न होते हैं;)


14
ओह, इस तरह की समझ में आता है ... मेरे पास 96 क्रेयॉन का एक बॉक्स है, इसलिए मुझे यकीन है कि मेरे पास सही अग्रभूमि रंग है। मैं कल कुछ रंगीन निर्माण पेपर उठाऊंगा और इसे अलग रंग के कागज पर आज़माऊंगा।
जेम्स मैकनेलिस

3
बस सुरक्षित होने के लिए, आपको बेहतर रंग के कुछ पेंसिल और तेल-आधारित पेंट भी मिलते हैं। यह एक सर्वविदित तथ्य है कि C ++ को सही रूप में प्रारूपित करने के लिए एक बहुत कठिन भाषा है।
helloworld922

हां, और हाइलाइटिंग मार्कर का उपयोग करना न भूलें।
शार्प्यूट

6
@ अक्षर-वाक्य रचना हाइलाइटिंग एक आईडीई सुविधा है - आप इसे हाथ से करने के लिए नहीं हैं। तो सुनिश्चित करें कि आपको उस हाइलाइटिंग मार्कर के साथ जाने के लिए एक रोबोट हाथ मिलता है।
स्टीव ३४

56

आप प्री-प्रोसेसर को भूल गए। इसे इस्तेमाल करे:

pngtopnm helloworld.png | ocrad | g++ -x 'c++' -

8
ओह! मुझे लगा कि प्रीप्रोसेसर कम्पाइलर के साथ शामिल था! मैं एक प्रीप्रोसेसर खोजने की कोशिश करूँगा जो मेरे विंडोज लैपटॉप पर काम करता है।
जेम्स मैकनेलिस

3
@ जेम्स मैकनेलिस: प्रीप्रोसेसर एक कार्यक्रम नहीं है, यह एक हार्डवेयर चीज़ है जो एक हाइलाइटिंग मार्कर की तरह दिखता है - आप इसे अपने पाठ पर ले जाते हैं और यह प्रीप्रोसेस हो जाता है।
शार्पट्यूट

49

क्या आपने प्रोग्राम को हस्तलिखित किया और फिर इसे कंप्यूटर में स्कैन किया? यह "नरक_पंज" द्वारा निहित है। यदि ऐसा है, तो आपको इस बात की जानकारी होनी चाहिए कि C ++ मानक (इसके नवीनतम संस्करण में भी) को ऑप्टिकल कैरेक्टर रिकग्निशन की उपस्थिति की आवश्यकता नहीं है, और दुर्भाग्य से यह किसी भी वर्तमान संकलक में वैकल्पिक सुविधा के रूप में शामिल नहीं है।

आप ग्राफ़िक्स को टेक्स्ट फॉर्मेट में ट्रांसपोज़ करने पर विचार कर सकते हैं। किसी भी सादे-पाठ संपादक का उपयोग किया जा सकता है; एक वर्ड प्रोसेसर का उपयोग, जबकि एक सुंदर प्रिंटआउट बनाने में सक्षम है, सबसे अधिक संभावना उसी त्रुटि में होगी जो आपको स्कैन करने की कोशिश करते समय मिलती है।

यदि आप वास्तव में साहसी हैं, तो आप अपने कोड को वर्ड प्रोसेसर में लिखने का प्रयास कर सकते हैं। इसे प्रिंट करें, अधिमानतः ओसीआर-ए जैसे फ़ॉन्ट का उपयोग करें । फिर, अपना प्रिंटआउट लें और उसे वापस स्कैन करें। पाठ फ़ॉर्म को बनाने के लिए स्कैन को तीसरे पक्ष के ओसीआर पैकेज के माध्यम से चलाया जा सकता है। पाठ मानक को कई मानक संकलक में से एक का उपयोग करके संकलित किया जा सकता है।

हालांकि, कागज की महान लागत से सावधान रहें कि यह डिबगिंग चरण के दौरान खराब हो जाएगा।


मुर्गी और अंडे की दुविधा: क्या OCR सॉफ़्टवेयर के लिए C ++ कोड लिखना और OCR के बिना संकलन करना संभव है?
jweyrich

5
खैर, ओह, आप मूल ओसीआर के लिए विधानसभा का उपयोग करते हैं।
केविन लेक्मेंटमेंट

@jweyrich - मुझे लगता है कि आपको अपना C ++ / OCR बूटस्ट्रैप के साथ अपने asm / OCR टूलकैप पहले प्राप्त करना होगा।
माइकल बूर


46

इसे संकलित करने के लिए नीचे दिया गया ड्रा शामिल करें:

#include <ChuckNorris>

मुझे लगता है वह वाक्यविन्यास त्रुटियों को संकलित कर सकता है ...


46
मैं व्यक्तिगत रूप से पसंद करता हूं #include <JonSkeet>
इकोडे

40

दुर्भाग्यवश, आपने तीन कंपाइलरों का चयन किया है, जो सभी कई भाषाओं का समर्थन करते हैं, न कि केवल C ++। उन सभी को आपके द्वारा उपयोग की जाने वाली प्रोग्रामिंग भाषा पर अनुमान लगाना होगा। जैसा कि आप शायद पहले से ही जानते हैं, पीएनजी प्रारूप सभी प्रोग्रामिंग भाषाओं के लिए उपयुक्त है, न कि केवल C ++।

आमतौर पर कंपाइलर भाषा का पता लगा सकता है। उदाहरण के लिए, यदि PNG स्पष्ट रूप से क्रेयॉन के साथ खींचा गया है, तो संकलक को पता चलेगा कि इसमें Visual Basic शामिल है। यदि ऐसा लगता है कि यह एक यांत्रिक पेंसिल के साथ खींचा गया है, तो काम पर इंजीनियर को पहचानना आसान है, फोरट्रान कोड लिख रहा है।

यह दूसरा चरण संकलक या तो इस मामले में मदद नहीं करता है। C और C ++ बस के समान, नीचे दिखते हैं #include। इसलिए, आपको कंपाइलर को यह तय करने में मदद करनी चाहिए कि वह वास्तव में कौन सी भाषा है। अब, आप गैर-मानक साधनों का उपयोग कर सकते हैं। उदाहरण के लिए, Visual Studio कंपाइलर / TC और / TP कमांड लाइन तर्क को स्वीकार करता है, या आप प्रोजेक्ट फ़ाइल में "Compile as: C ++" विकल्प का उपयोग कर सकते हैं। GCC और CLang के अपने तंत्र हैं, जिन्हें मैं नहीं जानता।

इसलिए, मैं आपके कंपाइलर को यह बताने के बजाय मानक विधि का उपयोग करने की सलाह दूंगा कि निम्नलिखित कोड C ++ में है। जैसा कि आप अब तक पता लगा चुके हैं, सी ++ कंपाइलर बहुत स्वीकार्य हैं कि वे क्या स्वीकार करते हैं। इसलिए C ++ की पहचान करने का मानक तरीका डराने वाले प्रोग्रामर द्वारा उनके C ++ कोड को जोड़ना है। उदाहरण के लिए, निम्न पंक्ति आपके कंपाइलर को स्पष्ट करेगी कि C ++ क्या है (और वह बिना किसी शिकायत के इसे बेहतर तरीके से संकलित करेगा)।

// To the compiler: I know where you are installed. No funny games, capice?

10
मैंने सोचा #pragmaकि संकलक को "संदेश प्राप्त करने" का सही तरीका था?
लेव बिशप

33

इसको आजमाओ:

क्या आप अंतरिक्ष यान में डायनासोर देखते हैं?


4
मुझे लगता है कि एक टाइपो है - यह endl(एल) नहीं end1(एक) होना चाहिए । लेकिन +1 अच्छी तरह से किया!
रूप

44
मैं तीन घंटे से इसे देख रहा हूं लेकिन मैं अभी भी डायनासोर या अंतरिक्ष यान नहीं देख सकता। :-(
oosterwal

32

अपने संकलक विशेषज्ञ मोड में सेट है ?! यदि हाँ, यह संकलन नहीं करना चाहिए। आधुनिक संकलक थक गए हैं "हैलो वर्ल्ड!"


27

ओसीआर कहते हैं:

N lml_e <loJ+_e__}

.lnt Mk.,n ( ln+ _rSC Lhc_yh )
h_S_
_l

s_l . co__ <, " H llo uo/_d ! '` << s l . ena_ .
TP__rn _ |
_|

जो बहुत अच्छा है, अच्छा है।


4
वाह, ओसीआर में सुधार हुआ है क्योंकि मैंने अपनी लिखावट को स्कैन करने का प्रयास किया है (घंटों इसे सीधे लिखने में खर्च किया है)।
जेम्स पी।

40
मुझे लगता है कि हमें एक पर्ल टैग जोड़ने की आवश्यकता है।
MSalters

26

helloworld.png: फ़ाइल मान्यता प्राप्त नहीं है: फ़ाइल प्रारूप मान्यता प्राप्त नहीं है

जाहिर है, आपको अपनी हार्ड ड्राइव को प्रारूपित करना चाहिए।

वास्तव में, इन त्रुटियों को पढ़ना मुश्किल नहीं है।


20

मैंने आपका कार्यक्रम पीएनजी से एएससीआईआई में बदल दिया, लेकिन यह अभी तक संकलित नहीं है। आपकी जानकारी के लिए, मैंने 100 और 250 वर्णों की चौड़ाई के साथ प्रयास किया था, लेकिन दोनों तुलनीय परिणाम देते हैं।

   `         `  .     `.      `         ...                                                         
   +:: ..-.. --.:`:. `-` .....:`../--`.. `-                                                         
           `      `       ````                                                                      
                                                                      `                             
   ` `` .`       ``    .`    `.               `` .      -``-          ..                            
   .`--`:`   :::.-``-. : ``.-`-  `-.-`:.-`    :-`/.-..` `    `-..`...- :                            
   .`         ` `    ` .`         ````:``  -                  ` ``-.`  `                            
   `-                                ..                           ``                                
    .       ` .`.           `   `    `. ` .  . `    .  `    . . .` .`  `      ` ``        ` `       
           `:`.`:` ` -..-`.`-  .-`-.    /.-/.-`.-.  -...-..`- :```   `-`-`  :`..`-` ` :`.`:`- `     
            ``  `       ```.      ``    ````    `       `     `        `    `         `   `   .     
            : -...`.- .` .:/ `                                                                      
    -       `             `` .                                                                      
    -`                                                                                              
    `                                                                                               

8
आपको शायद इसके बजाय 80 या यहां तक ​​कि 72 कॉलम का उपयोग करना चाहिए
टोबियास किंजलर

16

पहली समस्या यह है, कि आप मुख्य फ़ंक्शन के अंत में एक गलत मान वापस करने का प्रयास कर रहे हैं। सी ++ मानक यह निर्धारित करता है कि रिटर्न प्रकार मुख्य () इंट है, लेकिन इसके बजाय आप खाली सेट को वापस करने की कोशिश कर रहे हैं।

दूसरी समस्या यह है - कम से कम g ++ के साथ - यह कि कंपाइलर फ़ाइल प्रत्यय से प्रयुक्त भाषा को घटा देता है। जी ++ से (1):

किसी भी इनपुट फ़ाइल के लिए, फ़ाइल नाम प्रत्यय निर्धारित करता है कि किस प्रकार का संकलन किया गया है:

file.cc file.cp file.cxx file.cpp file.CPP file.c ++ file.C

C ++ स्रोत कोड जिसे प्रीप्रोसेस किया जाना चाहिए। ध्यान दें कि .cxx में, अंतिम दो अक्षर दोनों का शाब्दिक x होना चाहिए। इसी तरह, .C एक शाब्दिक पूंजी C को संदर्भित करता है।

इन्हें ठीक करना आपको पूरी तरह से काम करने वाले हैलो वर्ल्ड एप्लिकेशन के साथ छोड़ना चाहिए, जैसा कि यहां डेमो से देखा जा सकता है


3
जब मैं शून्य अंक के माध्यम से शून्य अंक के माध्यम से एक स्लैश डाल देता हूं तो मेरे पास एक प्रोफेसर रास्ता था जब आप अपने होमवर्क या परीक्षा को अंक देंगे। वह इस जवाब की सराहना करेंगे।
माइकल बूर


13

आपके संकलक ASCII की उम्मीद कर रहे हैं , लेकिन वह कार्यक्रम स्पष्ट रूप से EBCDIC का उपयोग करके लिखा गया है ।


अंतिम मैंने सुना C ++ यह निर्दिष्ट नहीं करता है कि कार्यक्रमों को ASCII, UTF-8 या कुछ और में लिखा जाना है।
एड्रियन रत्नापाल

8

आप एक छवि संकलित करने का प्रयास कर रहे हैं।

टाइप करें कि आपने क्या लिखा है, जो main.cpp नामक डॉक्यूमेंट में है, उस फाइल को अपने कंपाइलर के माध्यम से रन करें, फिर आउटपुट फाइल को रन करें।


23
अपने पीसी पर तारीख की जाँच करें।
जेम्स पी।

14
हाहा, लेकिन मुझे आखिरकार एक आसान मिल गया जिसका मैं जवाब दे सकता था!
कोड़ी ग्रे

10
यह बेवक़ूफ़ी है। हम सभी जानते हैं कि कंपाइलर व्हॉट्सएप का अनुकूलन करेगा, केवल भारी संपीड़ित ब्लैक-स्पेस को छोड़ देगा, जो सभी है और एक बाइनरी 1 के नीचे संकुचित हो जाएगा जो एक त्रुटि के रूप में वापस आ जाएगा। कोड को सफेद-आउट का उपयोग करते हुए लिखा जाना चाहिए जो कि 0 में संकलित होगा और एक त्रुटि नहीं लौटाएगा।
टिन मैन

7

आपको अंतिम समापन ब्रेस से तुरंत पहले अपने उत्पादन की शुद्धता को बृहदान्त्र से पहले निर्दिष्ट करने की आवश्यकता है । चूंकि आउटपुट संख्यात्मक नहीं है, सटीक शून्य है, इसलिए आपको इसकी आवश्यकता है-

: 0}


5

जोड़ें:

using namespace std;

सही के बाद शामिल हैं: P: D


5
मैं stdहर समय टाइप करना पसंद करता हूं । मुझे याद दिलाता है कि मुझे एक नहीं मिलेगा।
मतीन उल्हाक


5

समस्या वाक्यविन्यास परिभाषा के साथ है, एक अधिक शास्त्रीय विवरण के लिए शासक और कम्पास का उपयोग करने का प्रयास करें!

चीयर्स,


5

इनपुट इंटरफ़ेस स्विच करने का प्रयास करें। C ++ को उम्मीद है कि एक कीबोर्ड आपके कंप्यूटर में प्लग किया जाएगा, स्कैनर नहीं। यहां परिधीय संघर्ष के मुद्दे हो सकते हैं। यदि कीबोर्ड इनपुट इंटरफ़ेस अनिवार्य है, तो मैंने आईएसओ मानक में जांच नहीं की है, लेकिन मैं कभी उपयोग किए जाने वाले सभी कंपाइलरों के लिए सच है। लेकिन शायद स्कैनर इनपुट अब C99 में उपलब्ध है, और इस मामले में आपके कार्यक्रम को वास्तव में काम करना चाहिए। यदि नहीं, तो आपको अगले मानक जारी करने और संकलक के उन्नयन की प्रतीक्षा करनी होगी।


5

आप कोष्ठक के लिए अलग-अलग रंगों की कोशिश कर सकते हैं, शायद कुछ हरे या लाल मदद करेंगे? मुझे लगता है कि आपका संकलक काली स्याही को पहचान नहीं सकता: पी


5

क्या मैं केवल वही हूं जो 'वापसी' और अर्धविराम के बीच के चरित्र को नहीं पहचान सकता? यह हो सकता है!


4
यह एक कैपिटल लेटर ओ है जिसे एक विशेष लाइन के साथ हम "व्यास" कहते हैं, जो संकलक को मिडपॉइंट सर्कल एल्गोरिथम का उपयोग करने के लिए कहता है, जाहिर है। मुझे लगता है कि आपको अपनी आंखों की जांच करवानी चाहिए।
मतीन उल्हाक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.