C ++ संकलन से अधिकांश त्रुटि संदेश उत्पन्न करने वाला 1 वर्ण टाइपो


51

ऐसा लगता है कि C ++ फ़ाइल में साधारण परिवर्तन, विशेषकर टेम्प्लेट के साथ, त्रुटियों के पृष्ठ उत्पन्न कर सकते हैं। यह प्रतियोगिता यह देखने के लिए है कि सबसे बड़ा "हिरन का धमाका" क्या है, जो कि स्रोत कोड (1 वर्ण जोड़) के सबसे छोटे परिवर्तन के साथ अधिक क्रिया त्रुटि आउटपुट है।

क्योंकि अन्य भाषाएं अधिक समझदार हैं, यह C ++ और gcc संस्करण 4.x तक सीमित होगी।

नियम

  1. मूल स्रोत फ़ाइल को बिना त्रुटि के ऑब्जेक्ट कोड gcc के साथ 4.9.2 संकलन करना चाहिए।

  2. एक ASCII वर्ण टाइपो बनाने के लिए स्रोत कोड में जोड़ा जाता है, फ़ाइल का आकार 1 बाइट बढ़ाता है।

  3. कंपाइलर डिफ़ॉल्ट विकल्पों के साथ चलाया जाता है। आवश्यक विकल्प -cऔर -std=c++11जैसे अनुमति दी जाती है, जैसे विकल्प -Wallनहीं हैं।

  4. मैट्रिक है

        number of bytes of generated error messages
        -----------------------------------------------------------------------
        (bytes of source code with typo) (length of filename passed to compiler)
    
  5. उत्तर http://ideone.com/ C ++ 4.9.2 के साथ मान्य किए जाएंगे ।

उदाहरण:

फ़ाइलनाम है a.cpp, जो 5 बाइट लंबा है।

int foo();

काम का संकलन

 gcc -c a.cpp

दूषित स्रोत कोड:

in t foo();

असफल संकलन

$ gcc -c a.cpp
a.cpp:1:1: error: ‘in’ does not name a type
in t foo();
  ^
$ gcc -c a.cpp |& -c wc
64
$ wc -c a.cpp
12 a.cpp

स्कोर: 64/12/5 = 1.0666

बेहतर प्रयास: {परन के बीच डालेंfoo()

$ gcc -c a.cpp |& wc -c
497

नया स्कोर: 497/12/5 = 8.283

शुभ लाभ!

अपडेट करें

मैं लोगों को पुनरावर्ती कार्यान्वयन की उपेक्षा करने के लिए प्रोत्साहित करता हूं। वह तकनीकी रूप से जीतता है लेकिन प्रतियोगिता की भावना में नहीं है।

अद्यतन २

जैसा कि कई लोगों ने उल्लेख किया है, यदि सी-प्री-प्रोसेसर की अनुमति नहीं थी तो प्रतियोगिता शायद अधिक दिलचस्प होगी। इसलिए मैं लोगों को उन समाधानों को पोस्ट करने के लिए प्रोत्साहित करना चाहूंगा जो प्री-प्रोसेसर कमांड का उपयोग नहीं करते हैं। इसका मतलब है कि किसी भी हेडर फ़ाइलों का कोई उपयोग नहीं है, क्योंकि #includeअनुमति नहीं है!

जहाँ तक IDEONE को मान्य करने के लिए उपयोग करने की अनुमति है, आपको या तो सीधे IDEONE आउटपुट (और स्रोत का नाम prog.cpp) का उपयोग करने की अनुमति है , या आप IDEONE आउटपुट को वैश्विक खोज के माध्यम से चला सकते हैं और प्रतिस्थापित कर सकते हैं ( s/prog.cpp/a.cc/उदाहरण के लिए) और दिखावा करें कि आप सक्षम थे फ़ाइल का नाम सीधे सेट करें।

अद्यतन 3

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


टिप्पणियाँ विस्तारित चर्चा के लिए नहीं हैं; इस वार्तालाप को बातचीत में स्थानांतरित कर दिया गया है । वैकल्पिक रूप से, इस बारे में चर्चा के लिए कि क्या एक डुप्लिकेट के रूप में गिना जाना चाहिए या नहीं, कृपया चर्चा को मेटा में ले जाएं
मार्टिन एंडर

Ideone को मान्य करने के लिए उपयोग करने के साथ तीन मुद्दे: यह स्रोत फ़ाइल नाम को "prog.cpp" के लिए मजबूर करता है, यह कंपाइलर त्रुटि आउटपुट को 64kB तक काट देता है, और यह अतिरिक्त त्रुटियों को जोड़ता है। तो यह एक अच्छा सत्यापन उपकरण नहीं होगा।
जेसन सी

मैं टूलकिन-टेस्ट उबंटू रेपो से जीसीसी 4.9.2 का उपयोग कर रहा हूं।
nnonneo 20

डिफ़ॉल्ट विकल्प क्या हैं ? जहां तक ​​मुझे पता है, आप संकलन समय पर जीसीसी के डिफ़ॉल्ट विकल्पों को कॉन्फ़िगर कर सकते हैं।
फ़ूजएक्सल

2
यादों को वापस लाता है: 1975 के आसपास से हमारे भौतिकी के शिक्षक ने एक वार्षिक "10 (हाथ) से अधिकांश त्रुटियां" फोरट्रान के कार्ड-प्रतियोगिता "की दौड़
लगाई

जवाबों:


45

gcc 4.5.2, स्कोर: 8579.15 (या फ़ाइल नाम " aC " के लिए 14367.49 , बाद में अपडेट हो सकता है)

मूल फ़ाइल, 29 बाइट्स, स्वच्छ संकलन (a.cpp):

#if 0
#include"a.cpp"
#endif

संशोधित फ़ाइल, 30 बाइट्स:

#iff 0
#include"a.cpp"
#endif

त्रुटियाँ:

$ gcc -c a.cpp 2>&1 | wc -c
1286873

स्कोर:

1286873 / (30 * 5) = 8579.15

त्रुटि आउटपुट के प्रमुख और पूंछ:

a.cpp:1:2: error: invalid preprocessing directive #iff
In file included from a.cpp:2:0:
a.cpp:1:2: error: invalid preprocessing directive #iff
In file included from a.cpp:2:0,
                 from a.cpp:2:
a.cpp:1:2: error: invalid preprocessing directive #iff
In file included from a.cpp:2:0,
                 from a.cpp:2,
                 from a.cpp:2:
a.cpp:1:2: error: invalid preprocessing directive #iff
In file included from a.cpp:2:0,
                 from a.cpp:2,
                 from a.cpp:2,
                 from a.cpp:2:
a.cpp:1:2: error: invalid preprocessing directive #iff
In file included from a.cpp:2:0,
                 from a.cpp:2,
                 from a.cpp:2,
                 from a.cpp:2,
                 from a.cpp:2:
a.cpp:1:2: error: invalid preprocessing directive #iff
In file included from a.cpp:2:0,
                 from a.cpp:2,
                 from a.cpp:2,
                 from a.cpp:2,
                 from a.cpp:2,
                 from a.cpp:2:

... And so on, backing out with second error after max include depth:

a.cpp:3:2: error: #endif without #if
In file included from a.cpp:2:0,
                 from a.cpp:2,
                 from a.cpp:2,
                 from a.cpp:2,
                 from a.cpp:2:
a.cpp:3:2: error: #endif without #if
In file included from a.cpp:2:0,
                 from a.cpp:2,
                 from a.cpp:2,
                 from a.cpp:2:
a.cpp:3:2: error: #endif without #if
In file included from a.cpp:2:0,
                 from a.cpp:2,
                 from a.cpp:2:
a.cpp:3:2: error: #endif without #if
In file included from a.cpp:2:0,
                 from a.cpp:2:
a.cpp:3:2: error: #endif without #if
In file included from a.cpp:2:0:
a.cpp:3:2: error: #endif without #if
a.cpp:3:2: error: #endif without #if

नोट:
- यदि एक वैध एक्सटेंशन के रूप में योग्यता.C समाप्त होती है तो स्कोर 1,206,869 / (28 * 3) = 14,367.49 है। - अगर डेनिस ने सुझाव दिया कि दूसरा #include जोड़ा गया है, तो फ़ाइल का नाम "a.cpp", स्कोर 80,797,292,934 / (46 * 5) = 351,292,578.97 है


2
सवाल एक चरित्र को जोड़ने के लिए कहता है, इसे बदलने के लिए नहीं।
डेनिस

3
@ डेनिस ओह यार। मुझे यह मिल गया। यह दूसरा संपादन देखें। आपकी टिप्पणी भेस में आशीर्वाद थी।
जेसन सी

1
@JasonC मैं इसे पर्याप्त समय तक नहीं बढ़ा सकता।
इसहाक

9
मुझे लगता है कि आप एक दूसरे को जोड़ने पर एक अनंत स्कोर का दावा कर सकते हैं #include"a.cpp"
डेनिस

3
@ डेनिस वो, अच्छा! मैं जवाब को छोड़ने जा रहा हूं, क्योंकि मैंने #includeअपने दम पर एक सेकंड जोड़ने के बारे में नहीं सोचा है । के रूप में यह अनंत होने के नाते ... अगर यह अभी भी चल रहा है जब मैं कल सुबह उठता हूं, तो यह मेरे लिए अनंत है। आपको पोस्ट करता रहेगा, हा (हालांकि, यह वर्तमान में 5.1MB / सेकंड की पाइपिंग कर रहा है wc, इसलिए यदि wcमेरी गणना से 32-बिट काउंटर का उपयोग किया जाता है , तो लगभग 13 मिनट में कुछ अजीब हो सकता है।)
जेसन सी

31

gcc 4.9.2, स्कोर: 222,898,664 663,393,783

यह @ जेसन के जवाब पर आधारित है , लेकिन उन्होंने कहा कि वह इस सुधार का श्रेय नहीं लेना चाहते हैं।

नीचे दिए गए कोड का त्रुटि आउटपुट 126,044,818,789 बाइट्स लंबा है। स्कोर थ्योरी में बहुत अधिक होना चाहिए (और इनफिनिटी के लिए प्रवृत्त होते हैं क्योंकि इसमें शामिल बयानों की संख्या बढ़ जाती है), लेकिन यह अधिक शामिल बयानों को जोड़कर व्यवहार में घट जाती है।

मूल फ़ाइल (37 बाइट्स)

/*#
#include"w.cpp"
#include"w.cpp"*/
$ gcc -c w.cpp
$

संशोधित फ़ाइल (38 बाइट्स)

/
*#
#include"w.cpp"
#include"w.cpp"*/
$ gcc -c w.cpp
w.cpp:2:2: error: stray ‘#’ in program
 *#
  ^
In file included from w.cpp:3:0:
w.cpp:2:2: error: stray ‘#’ in program
 *#
  ^
In file included from w.cpp:3:0,
                 from w.cpp:3:
w.cpp:2:2: error: stray ‘#’ in program
 *#
  ^
In file included from w.cpp:3:0,
                 from w.cpp:3,
                 from w.cpp:3:
w.cpp:2:2: error: stray ‘#’ in program
 *#
  ^
In file included from w.cpp:3:0,
                 from w.cpp:3,
                 from w.cpp:3,
                 from w.cpp:3:
⋮
w.cpp:2:2: error: stray ‘#’ in program
 *#
  ^
w.cpp:3:0: error: #include nested too deeply
 #include"w.cpp"
 ^
w.cpp:4:0: warning: extra tokens at end of #include directive
 #include"w.cpp"*/
 ^
w.cpp:4:0: error: #include nested too deeply
w.cpp:2: confused by earlier errors, bailing out
The bug is not reproducible, so it is likely a hardware or OS problem.

6
यह तकनीकी रूप से अनंत आउटपुट का उत्पादन नहीं करेगा , हालांकि, वर्तमान (या दूरदर्शी) कंप्यूटर तकनीक के साथ, आप इसे रोकने के लिए लंबे समय तक नहीं रह पाएंगे। मूल रूप से, जीसीसी में #include200 स्तरों की घोंसले के शिकार की सीमा होती है, इसलिए आपका पुनरावर्ती #includeप्रभावी रूप से 200-बिट बाइनरी काउंटर बन जाता है।
इल्मरी करोनें

3
अनंत स्कोर प्राप्त करने के लिए बस और लाइनें शामिल करें। आउटपुट आकार कोड की तुलना में तेजी से बढ़ता है।
jimmy23013


2
यह किया था कुछ बड़ी संख्या है कि एक 8 के साथ शुरू के साथ, आज सुबह समाप्त, और मैं गलती से नंबर प्रतिलिपि करने से पहले खिड़की बंद , क्योंकि मैं भयानक रहा हूँ। मैं इसे फिर से चला रहा हूं।
जेसन सी

3
@ जैसन सी मैंने इसे भी चलाया और 77,877,399,160 बाइट्स का आउटपुट मिला। यह मेरी अपेक्षा से बहुत कम अनंत है, इसलिए मैं इसे एक छोटे फ़ाइल नाम के साथ फिर से चलाऊंगा।
डेनिस

25

gcc, 4.9.2, स्कोर: 22.2

मूल फ़ाइल: 0 बाइट्स (a.cpp)

संकलित साफ:

$ gcc -c a.cpp |& wc -c
0

संशोधित फ़ाइल:

(

त्रुटियाँ:

$ gcc -c a.cpp |& wc -c
111

स्कोर

111/1/5 = 22.2


4
क्या आपने पहले ही इस पर बल दिया था? मेरा मतलब है, क्या यह 0 बाइट स्टार्ट फ़ाइल के लिए उच्चतम स्कोर है?
थॉमस वेलर

नहीं, मैंने इस पर बल नहीं दिया। मैंने सिर्फ 3 या 4 अलग-अलग चरित्रों की कोशिश की। यह लोगों को प्रतियोगिता में रुचि लेने के लिए सिर्फ एक बीज उत्तर था :)
मार्क Lakata

23

11,126.95 9,105.44 2,359.37 1,645.94 266.88 अंक

अधिक प्रीप्रोसेसर दुर्व्यवहार! इस बार, हम मानक पुस्तकालय को रो रहे हैं।

बिना टाइपो:

#define typedf
#include<fstream>

टाइपो के साथ:

#define typedef
#include<fstream>

त्रुटियाँ:

In file included from /usr/include/c++/4.9/iosfwd:39:0,
                 from /usr/include/c++/4.9/ios:38,
                 from /usr/include/c++/4.9/istream:38,
                 from /usr/include/c++/4.9/fstream:38,
                 from a.C:2:
/usr/include/c++/4.9/bits/stringfwd.h:62:33: error: aggregate ‘std::basic_string<char> std::string’ has incomplete type and cannot be defined
   typedef basic_string<char>    string;   
                                 ^
/usr/include/c++/4.9/bits/stringfwd.h:68:33: error: aggregate ‘std::basic_string<wchar_t> std::wstring’ has incomplete type and cannot be defined
   typedef basic_string<wchar_t> wstring;   
                                 ^
/usr/include/c++/4.9/bits/stringfwd.h:78:34: error: aggregate ‘std::basic_string<char16_t> std::u16string’ has incomplete type and cannot be defined
   typedef basic_string<char16_t> u16string; 
                                  ^
/usr/include/c++/4.9/bits/stringfwd.h:81:34: error: aggregate ‘std::basic_string<char32_t> std::u32string’ has incomplete type and cannot be defined
   typedef basic_string<char32_t> u32string; 
                                  ^
In file included from /usr/include/wchar.h:36:0,
                 from /usr/include/c++/4.9/cwchar:44,
                 from /usr/include/c++/4.9/bits/postypes.h:40,
                 from /usr/include/c++/4.9/iosfwd:40,
                 from /usr/include/c++/4.9/ios:38,
                 from /usr/include/c++/4.9/istream:38,
                 from /usr/include/c++/4.9/fstream:38,
                 from a.C:2:
/usr/include/stdio.h:48:25: error: aggregate ‘_IO_FILE FILE’ has incomplete type and cannot be defined
 typedef struct _IO_FILE FILE;
                         ^
/usr/include/stdio.h:64:25: error: aggregate ‘_IO_FILE __FILE’ has incomplete type and cannot be defined
 typedef struct _IO_FILE __FILE;
                         ^
In file included from /usr/include/c++/4.9/cwchar:44:0,
                 from /usr/include/c++/4.9/bits/postypes.h:40,
                 from /usr/include/c++/4.9/iosfwd:40,
                 from /usr/include/c++/4.9/ios:38,
                 from /usr/include/c++/4.9/istream:38,
                 from /usr/include/c++/4.9/fstream:38,
                 from a.C:2:
/usr/include/wchar.h:106:9: error: ‘__mbstate_t’ does not name a type
 typedef __mbstate_t mbstate_t;
         ^
/usr/include/wchar.h:151:38: error: ‘size_t’ is not a type
     const wchar_t *__restrict __src, size_t __n)
                                      ^
/usr/include/wchar.h:159:38: error: ‘size_t’ is not a type
     const wchar_t *__restrict __src, size_t __n)
                                      ^
/usr/include/wchar.h:166:63: error: ‘size_t’ is not a type
 extern int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n)
                                                               ^
/usr/include/wchar.h:176:4: error: ‘size_t’ is not a type
    size_t __n) __THROW;
    ^
In file included from /usr/include/wchar.h:180:0,
                 from /usr/include/c++/4.9/cwchar:44,
                 from /usr/include/c++/4.9/bits/postypes.h:40,
                 from /usr/include/c++/4.9/iosfwd:40,
                 from /usr/include/c++/4.9/ios:38,
                 from /usr/include/c++/4.9/istream:38,
                 from /usr/include/c++/4.9/fstream:38,
                 from a.C:2:
/usr/include/xlocale.h:42:9: error: ‘__locale_t’ does not name a type
 typedef __locale_t locale_t;
         ^
In file included from /usr/include/c++/4.9/cwchar:44:0,
                 from /usr/include/c++/4.9/bits/postypes.h:40,
                 from /usr/include/c++/4.9/iosfwd:40,
                 from /usr/include/c++/4.9/ios:38,
                 from /usr/include/c++/4.9/istream:38,
                 from /usr/include/c++/4.9/fstream:38,
                 from a.C:2:
/usr/include/wchar.h:183:5: error: ‘__locale_t’ is not a type
     __locale_t __loc) __THROW;
     ^
/usr/include/wchar.h:186:6: error: ‘size_t’ is not a type
      size_t __n, __locale_t __loc) __THROW;
      ^
/usr/include/wchar.h:186:18: error: ‘__locale_t’ is not a type
      size_t __n, __locale_t __loc) __THROW;
                  ^
/usr/include/wchar.h:196:8: error: ‘size_t’ does not name a type
 extern size_t wcsxfrm (wchar_t *__restrict __s1,
        ^
/usr/include/wchar.h:207:9: error: ‘__locale_t’ is not a type
         __locale_t __loc) __THROW;
         ^
/usr/include/wchar.h:212:8: error: ‘size_t’ does not name a type
 extern size_t wcsxfrm_l (wchar_t *__s1, const wchar_t *__s2,
        ^
/usr/include/wchar.h:252:8: error: ‘size_t’ does not name a type
 extern size_t wcscspn (const wchar_t *__wcs, const wchar_t *__reject)
        ^
/usr/include/wchar.h:256:8: error: ‘size_t’ does not name a type
 extern size_t wcsspn (const wchar_t *__wcs, const wchar_t *__accept)
        ^
/usr/include/wchar.h:287:8: error: ‘size_t’ does not name a type
 extern size_t wcslen (const wchar_t *__s) __THROW __attribute_pure__;
        ^
/usr/include/wchar.h:306:8: error: ‘size_t’ does not name a type
 extern size_t wcsnlen (const wchar_t *__s, size_t __maxlen)
        ^

[कटाव]

/usr/include/c++/4.9/bits/fstream.tcc:934:35: error: ‘cur’ is not a member of ‘std::ios_base’
    __testvalid = this->seekoff(0, ios_base::cur, _M_mode)
                                   ^
/usr/include/c++/4.9/bits/fstream.tcc:934:50: error: ‘_M_mode’ was not declared in this scope
    __testvalid = this->seekoff(0, ios_base::cur, _M_mode)
                                                  ^
/usr/include/c++/4.9/bits/fstream.tcc:941:25: error: ‘_M_state_last’ was not declared in this scope
    + _M_codecvt->length(_M_state_last, _M_ext_buf,
                         ^
/usr/include/c++/4.9/bits/fstream.tcc:944:15: error: ‘streamsize’ does not name a type
         const streamsize __remainder = _M_ext_end - _M_ext_next;
               ^
/usr/include/c++/4.9/bits/fstream.tcc:945:13: error: ‘__remainder’ was not declared in this scope
         if (__remainder)
             ^
/usr/include/c++/4.9/bits/fstream.tcc:949:35: error: ‘__remainder’ was not declared in this scope
         _M_ext_end = _M_ext_buf + __remainder;
                                   ^
/usr/include/c++/4.9/bits/fstream.tcc:951:25: error: ‘_M_state_cur’ was not declared in this scope
         _M_state_last = _M_state_cur = _M_state_beg;
                         ^
/usr/include/c++/4.9/bits/fstream.tcc:951:40: error: ‘_M_state_beg’ was not declared in this scope
         _M_state_last = _M_state_cur = _M_state_beg;
                                        ^
/usr/include/c++/4.9/bits/fstream.tcc:960:2: error: ‘_M_codecvt’ was not declared in this scope
  _M_codecvt = _M_codecvt_tmp;
  ^
/usr/include/c++/4.9/bits/fstream.tcc:960:15: error: ‘_M_codecvt_tmp’ was not declared in this scope
  _M_codecvt = _M_codecvt_tmp;
               ^
/usr/include/c++/4.9/bits/fstream.tcc:962:2: error: ‘_M_codecvt’ was not declared in this scope
  _M_codecvt = 0;
  ^

मेरे उबंटू मशीन पर, g++-4.9 -std=c++11 -c a.C1101568/33/3 = 11,126.95 के स्कोर के लिए त्रुटियों के 1,101,568 शानदार बाइट्स उत्पन्न करता है।


7
आपको सभी एसटीडी हेडर का विश्लेषण करने और निर्धारित करने के लिए एक कार्यक्रम लिखना चाहिए जो #defineआपको सबसे अधिक अंक देता है।
जेसन सी

1
आप को बदल कर इसे आगे और खराब हो सकते typedefद्वारा t;। अब आप न केवल हर उपयोग को तोड़ते हैं, typedefबल्कि आपको एक टन "t एक प्रकार का नाम नहीं देता" त्रुटि भी मिलती है। या %;"% टोकन से पहले अपेक्षित अयोग्य-आईडी का उत्पादन करने के लिए"।
एमएसलटर्स

1
#define typename *और #define int class stdबहुत अधिक त्रुटियां उत्पन्न करता है।
jimmy23013

11

62.93 अंक

बस कुछ सी ++ मेटा काला जादू, के साथ संकलित g++-4.8 -c -std=c++11 a.cc:

#include<memory>
template<int n>class B:std::unique_ptr<B<n-1>>{};template<>class B<0>{};B<-1>x;

Ungolfed:

#include <memory>

template<int n>
class B: std::unique_ptr<B<n-1>> {};

template<>
class B<0> {};

B<-1>x;

G ++ में 900 की पुनरावृत्ति सीमा है, इसलिए 31-बिट रेंज के साथ बदलने B<1>पर B<-1>एक ... दिलचस्प प्रभाव पड़ता है।

  • कोड के 96 बाइट्स (अंतिम \nकुछ पाठ संपादकों की गिनती को स्वचालित रूप से नहीं जोड़ते हैं, vimनहीं)।
  • 4-अक्षर फ़ाइल नाम, a.cc
  • त्रुटि संदेश के 24165 बाइट्स, और यह छोटा है। पूर्ण त्रुटि संदेश में सामग्री की 1235889 बाइट्स है। यह -ftemplate-backtrace-limit=0स्विच की आवश्यकता होगी । इसका मतलब मेरे लिए ३१85५ अंक भी होगा!

std::unique_ptr परीक्षण और त्रुटि और एसटीएल और बिल्लियों और सामान के ज्ञान द्वारा पाया गया सबसे लंबा त्रुटि संदेश का प्रबंधन करने के लिए प्रबंधन करता है कि सिर्फ टेम्पलेट वर्ग है।


2
लेकिन ... जब मैं कोड में केवल 3, @JasonC हो तो मैं 6 व्हाट्सएप से कैसे छुटकारा पा सकता हूं!
स्टेफानो सैनफिलिपो

7

स्कोर 7.865

सख्ती से बोलना, 0-बाइट-उत्तर सही नहीं है, क्योंकि ideone.com त्रुटि के बिना फ़ाइल संकलित करने से इंकार कर देगा। उदाहरण के साथ भी यही सच है int foo();- यह ideone.com पर संकलित नहीं होगा (मैं लापता प्रतिष्ठा के कारण टिप्पणी करने में असमर्थ हूं ...)

तो बिना किसी संकलन के सबसे छोटा संभव कार्यक्रम #includesयह है:

int main(){}

यदि आप इसे निम्नलिखित कोड में बदलते हैं, तो यह त्रुटि कोड के 409 बाइट्स के साथ विफल हो जाएगा (ideone.com आउटपुट से prog.cpp को a.cc में बदलने के बाद):

int main(){[}

409 / (13 * 4) = 7.865

कृपया इस प्रश्न को तदनुसार अपडेट करें, क्योंकि दिए गए उदाहरण दिए गए नियमों का सम्मान नहीं करते हैं ...


1
पूरी विचारधारा की बात हर तरह की नासमझी है।
जेसन सी

मैं सहमत हूं, मैंने सवाल पोस्ट किए जाने और पहले दिए गए जवाबों के बाद आइडोन नियम पर कार्रवाई की । बिल्ली अब बैग से बाहर आ गई है।
निशान लता

1

सी, नाम दिया गया .cc

main(){constexprs a(){*(int*)0=f;}a(0)}

एरर कोड:

.code.tio.cpp: In function ‘int main()’:
.code.tio.cpp:1:8: error: ‘constexprs’ was not declared in this scope
 main(){constexprs int a(f){*(int*)0=f;}a(0);}
        ^~~~~~~~~~
.code.tio.cpp:1:8: note: suggested alternative: ‘__cpp_constexpr’
 main(){constexprs int a(f){*(int*)0=f;}a(0);}
        ^~~~~~~~~~
        __cpp_constexpr
.code.tio.cpp:1:40: error: ‘a’ was not declared in this scope
 main(){constexprs int a(f){*(int*)0=f;}a(0);}

फिर से हैलो! मूल कार्यक्रम क्या है जो त्रुटि नहीं करता है? (मुझे लगता है कि यह है main(){}, लेकिन मुझे यकीन नहीं है) इसके अलावा, क्या यह ऊपर दिए गए उत्तर का सुधार नहीं है? जब आप निश्चित रूप से इस उत्तर को रख सकते हैं, अगर यह @ स्टीफनम के उत्तर से प्रेरित था, तो आपको इसका उल्लेख करना चाहिए। अंत में, अब आपके पास 50 प्रतिनिधि हैं, आप कहीं भी टिप्पणी कर सकते हैं।
NoOneIsHere

मुझे लगता है कि यह स्टीफन एम के जवाब के बहुत करीब है; मैं इसे उस समाधान के लिए अनुशंसित सुधार के रूप में पोस्ट करूंगा। कहा जा रहा है कि, डुप्लिकेट उत्तरों की अनुमति है। कृपया मूल को यहाँ रखें और किसी भी प्रेरणा का उल्लेख करें (हालाँकि यह संभव है कि आप स्वतंत्र रूप से, साथ ही साथ आए हों)
HyperNeutrino

1

स्कोर 12.xx (एक चरित्र DELETING द्वारा त्रुटि)

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

#include <iostream>
using namespace std;
int main ()
{
cout<<"test"<<endl;
}

कोड त्रुटि उत्पन्न करता है (अंतिम '<' हटा दिया गया है ताकि यह तुलना में कम-से-कम दिखे, लेकिन noooooooooooo ...)

#include <iostream>
using namespace std;
int main ()
{
cout<<"test"<endl;
}

यह ideone.com g ++ 4.3.2 में संकलक त्रुटि संदेशों की It's 8241 बाइट्स ’है।


1
यहां तक ​​कि अगर यह चुनौती की भावना में लगता है (चूंकि शीर्षक "एक चरित्र टाइपो" कहता है), यह नियम 2 का पालन नहीं करता है जो कहता है कि आप केवल एक चरित्र जोड़ सकते हैं , हटा या बदल नहीं सकते।
जो किंग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.