C ++ সংকলন থেকে সর্বাধিক ত্রুটি বার্তাগুলি তৈরি করা 1 টি অক্ষর টাইপ


51

দেখে মনে হচ্ছে একটি সি ++ ফাইলের সাধারণ পরিবর্তনগুলি, বিশেষত টেমপ্লেটগুলি সহ, ত্রুটির পৃষ্ঠা তৈরি করতে পারে। এই প্রতিযোগিতাটি হ'ল "বাক্সের বৃহত্তম ব্যাং" কী, তা সোর্স কোডের ক্ষুদ্রতম পরিবর্তনের সাথে আরও ভার্বোজ ত্রুটির আউটপুট (1 অক্ষর সংযোজন) see

যেহেতু অন্যান্য ভাষাগুলি বেশি বুদ্ধিমান, তাই এটি C ++ এবং gcc সংস্করণ 4.x এর মধ্যে সীমাবদ্ধ থাকবে

বিধি

  1. ত্রুটি ছাড়াই অবজেক্ট কোড করতে মূল উত্স ফাইলটি অবশ্যই জিসিসি 4.9.2 দিয়ে সংকলন করতে হবে।

  2. একটি এএসসিআইআই অক্ষর টাইপ তৈরি করতে উত্স কোডে যুক্ত হয়, ফাইলের আকার 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

শুভকামনা!

হালনাগাদ

আমি লোকদের পুনরাবৃত্তিমূলক বাস্তবায়ন উপেক্ষা করতে উত্সাহিত করি। প্রযুক্তিগতভাবে এটি জিতলেও প্রতিযোগিতার চেতনাতে নয়।

আপডেট 2

যেমনটি অনেকে উল্লেখ করেছেন, সি প্রি-প্রসেসরের অনুমতি না দেওয়া হলে প্রতিযোগিতাটি আরও আকর্ষণীয় হতে পারে। সুতরাং আমি লোকেদের এমন সমাধান পোস্ট করতে উত্সাহিত করতে চাই যা প্রাক-প্রসেসর কমান্ডগুলি মোটেই ব্যবহার করে না। এর ফলে কোনও হেডার ফাইলের কোনও ব্যবহারই #includeহ'ল না , যেহেতু অনুমোদিত নয়!

যাচাইকরণের জন্য আইডোনিকে ব্যবহার করার ক্ষেত্রে, আপনাকে হয় সরাসরি আইডিয়োন আউটপুট সরাসরি (এবং উত্স হিসাবে নাম prog.cpp) ব্যবহার করার অনুমতি দেওয়া হয় , বা আপনি একটি বিশ্বব্যাপী অনুসন্ধানের মাধ্যমে আইডিয়োন আউটপুট চালাতে পারেন এবং প্রতিস্থাপন করতে পারেন ( s/prog.cpp/a.cc/উদাহরণস্বরূপ) এবং আপনি যে ভান করেছিলেন তা ভেবেছিলেন সরাসরি ফাইলের নাম সেট করুন।

আপডেট 3

লোকেরা যেমন বলেছিল, আইডিয়েনটি একটু বেশিই বাধাজনক, লিংকেজ প্রয়োজন কেবল ফাইল তৈরির উদ্দেশ্যে নয়। যেহেতু এই প্রতিযোগিতাটি নিখরচায় মজাদার নামে, তাই দয়া করে সৎ হন এবং আপনার স্কোরটি পেতে কী ব্যবহার করেছিলেন তা নির্দিষ্ট করুন। হয় আদর্শ ব্যবহার করুন, বা জিসিআই 4.9.2 এর সর্বাধিক ভ্যানিলা বিল্ড (সমস্ত ডিফল্ট) ব্যবহার করুন you প্রতিযোগিতাটির উদ্দেশ্য সি ++ ত্রুটি বার্তাগুলির জঘন্যতা সম্পর্কে সচেতনতা আনতে।


মন্তব্যগুলি বর্ধিত আলোচনার জন্য নয়; এই কথোপকথন চ্যাটে সরানো হয়েছে । বিকল্প হিসাবে, ডুপ্লিকেট হিসাবে কী গণনা করা উচিত বা না করা উচিত তা নিয়ে আলোচনার জন্য দয়া করে আলোচনাটি মেটাতে নিয়ে যান
মার্টিন ইন্ডার

আইডোনকে বৈধতা দেওয়ার ক্ষেত্রে তিনটি সমস্যা: এটি উত্স ফাইলের নামটিকে "প্রগ্রেসিপিপি" তে বাধ্য করে, এটি সংকলক ত্রুটি আউটপুটকে 64 কেবিতে ছাঁটাই করে এবং অতিরিক্ত ত্রুটি যুক্ত করে এটি লিঙ্ক করে। সুতরাং এটি একটি ভাল বৈধতা সরঞ্জাম হবে না।
জেসন সি

আমি সরঞ্জামচেইন-উবুন্টু রেপো থেকে জিসিসি 4.9.2 ব্যবহার করছি .2
nneonneo

ডিফল্ট বিকল্পগুলি কী কী ? আমি যতদূর জানি, আপনি সংকলন সময়ে gcc এর ডিফল্ট বিকল্পগুলি কনফিগার করতে পারেন।
FUZxxl

2
স্মৃতি ফিরে আসে: ১৯ 197৫ সালের দিকে আমাদের পদার্থবিজ্ঞানের শিক্ষক বার্ষিক "
ফরট্রানের

উত্তর:


45

gcc 4.5.2, স্কোর: 8579.15 (বা 14367.49 ফাইলের নাম "aC" এর জন্য পরে আপডেট হতে পারে)

আসল ফাইল, 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 হয়।
- ডেনিসের প্রস্তাবিত দ্বিতীয় # অন্তর্ভুক্ত করা হলে ফাইলের নাম "a.cpp" যুক্ত হয়, স্কোর হয় 80,797,292,934 / (46 * 5) = 351,292,578.97


2
প্রশ্নটি একটি চরিত্র যুক্ত করতে বলে, এটি প্রতিস্থাপন নয়।
ডেনিস

3
@ ডেনিস ওহ মানুষ আমি এটা বুজেছি. এই দ্বিতীয় সম্পাদনা দেখুন। আপনার মন্তব্য ছদ্মবেশ একটি আশীর্বাদ ছিল।
জেসন সি

1
@ জেসনসি আমি এটি যথেষ্ট সময় উত্সাহ দিতে পারে না।
isaacg

9
আমি মনে করি আপনি একটি সেকেন্ড যোগ করলে আপনি অসীম স্কোর দাবি করতে পারেন #include"a.cpp"
ডেনিস

3
@ ডেনিস হু, সুন্দর! আমি নিজে থেকে উত্তরটি ছেড়ে যাচ্ছি কারণ আমি নিজে থেকে একটি দ্বিতীয় যোগ করার কথা ভাবিনি #include। এটি অসীম হিসাবে ... যদি আমি কাল সকালে ঘুম থেকে ওঠার পরে যদি এটি চলমান থাকে তবে তা আমার পক্ষে যথেষ্ট নয়। আপনাকে পোস্ট রাখবে, হা (যদিও এটি বর্তমানে 5.1MB / সেকেন্ডে পাইপ দিচ্ছে wc, তাই যদি wcআমার গণনা অনুসারে 32-বিট কাউন্টার ব্যবহার করা হয় তবে প্রায় 13 মিনিটের মধ্যে কিছু অদ্ভুত কিছু ঘটতে পারে))
জেসন সি

31

জিসিসি 4.9.2, স্কোর: 222,898,664 663,393,783

এটি @ জেসনসির উত্তরের ভিত্তিতে ভারী , তবে তিনি বলেছিলেন যে তিনি এই উন্নতির জন্য কৃতিত্ব নিতে চান না।

নীচের কোডটির ত্রুটির ফলাফল 126,044,818,789 বাইট দীর্ঘ by স্কোরটি তত্ত্বের তুলনায় অনেক বেশি হওয়া উচিত (এবং এতে বিবৃতি অন্তর্ভুক্ত হওয়ার সাথে সাথে অনন্তের দিকে ঝুঁকতে থাকে), তবে আরও স্টেটমেন্ট যুক্ত করে যোগ করে এটি অনুশীলনে হ্রাস পায়।

আসল ফাইল (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
অসীম স্কোর পেতে কেবল আরও লাইন যুক্ত করুন। আউটপুট আকার কোডের চেয়ে দ্রুত বৃদ্ধি পায়।
জিমি 23013


2
এটা তোলে করেনি কিছু বিশাল সংখ্যা 8 দিয়ে শুরু সঙ্গে, এই সকালে শেষ, এবং আমি ঘটনাক্রমে সংখ্যা অনুলিপি করার আগে উইন্ডো বন্ধ , কারন আমি সন্ত্রস্ত আছি। আমি আবার এটি চালাচ্ছি।
জেসন সি

3
@ জেসনসি আমি এটিও চালিয়েছি এবং 77,877,399,160 বাইটের আউটপুট পেয়েছি। এটি আমার প্রত্যাশার চেয়ে অনেক কম অসীম, সুতরাং আমি এটি একটি ছোট ফাইল নাম দিয়ে আবার চালাব।
ডেনিস

25

জিসিসি, 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 টি বিভিন্ন চরিত্রের চেষ্টা করেছি। লোকেরা প্রতিযোগিতায় আগ্রহী হওয়ার জন্য এটি কেবল একটি বীজ উত্তর ছিল :)
মার্ক লাকাটা

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তবে ত্রুটি হিসাবে আপনি একটি টন "টি কোনও ধরণের নামও রাখেন না" get অথবা %;"টোকেনের পূর্বে প্রত্যাশিত অবৈধ-আইডি" তৈরি করতে।
MSalters

1
#define typename *এবং #define int class stdআরও অনেক ত্রুটি উত্পন্ন বলে মনে হচ্ছে।
জিমি 23013

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;

জি ++, তাই পরিবর্তন, 900 একটি পুনরাবৃত্তির সীমা আছে B<1>করার B<-1>31-বিট পরিসীমা সঙ্গে একটি ... আকর্ষণীয় প্রভাব রয়েছে।

  • Code৯ বাইট কোড (চূড়ান্ত গণনা না করে \nকিছু পাঠ্য সম্পাদক স্বয়ংক্রিয়ভাবে যোগ করে,vim হয় না)।
  • 4-অক্ষরের ফাইলের নাম, a.cc
  • 24165 বাইট ত্রুটি বার্তা, এবং এটি কেটে গেছে। সম্পূর্ণ ত্রুটি বার্তায় সামগ্রীতে 1235889 বাইট রয়েছে। এটি -ftemplate-backtrace-limit=0সুইচ প্রয়োজন হবে । এটি আমার জন্য 3185 পয়েন্ট অর্থাত!

std::unique_ptr এটি কেবলমাত্র টেম্পলেট শ্রেণি যা এসটিএল এবং বিড়াল এবং স্টাফের ট্রায়াল এবং ত্রুটি এবং জ্ঞানের দ্বারা পাওয়া দীর্ঘতম ত্রুটি বার্তা নির্গত করতে পরিচালিত করে।


2
তবে ... আমি কোডটিতে কেবলমাত্র 3 টি থাকা অবস্থায় আমি 6 টি সাদা স্পেস থেকে কীভাবে মুক্তি পাব, @ জেসনসি!
স্টেফানো সানফিলিপো

7

স্কোর 7.865

কড়া কথা বলতে গেলে 0-বাইট-উত্তরটি সঠিক নয়, কারণ আদর্শোন ডট কম ত্রুটি ছাড়াই ফাইলটি সংকলন করতে অস্বীকার করবে। উদাহরণের সাথেও এটি সত্য int foo();- এটি আদর্শের.কম এ সংকলন করবে না (খ্যাতি হারিয়ে যাওয়ার কারণে আমি মন্তব্য করতে পারছি না ...)

সুতরাং বিনা সংকলনের সবচেয়ে ছোট প্রোগ্রামটি #includesহ'ল:

int main(){}

আপনি যদি নিম্নলিখিত কোডটিতে এটি পরিবর্তন করেন তবে এটি 409 বাইট ত্রুটি কোডের সাথে ব্যর্থ হবে (আইডোন.কম আউটপুট থেকে প্রগ্রেসিপি পিপি নামকরণ করে 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 জন প্রতিনিধি, আপনি যে কোনও জায়গায় মন্তব্য করতে পারেন।
NoOneIsEre

আমি মনে করি এটি স্টেফান এম এর উত্তরের খুব কাছাকাছি; আমি এটি সমাধানের জন্য প্রস্তাবিত উন্নতি হিসাবে পোস্ট করব। বলা হচ্ছে, সদৃশ জবাব অনুমোদিত। দয়া করে এখানে মূলটি লিখুন এবং কোনও অনুপ্রেরণার কথা উল্লেখ করুন (যদিও এটি সম্ভবত আপনি স্বাধীনভাবে এটি নিয়ে এসেছিলেন)
হাইপারনিউটারিনো

1

স্কোর 12.xx (একটি অক্ষর মুছে ফেলাতে ত্রুটি)

দয়া করে বিধি 2 ভাঙা (আইএমএইচও যোগ করা বা একটি চরিত্র মুছে ফেলা নিয়মের অনুভূতিতে হবে) ক্ষমা করুন, তবে আমার সাথে দুর্ঘটনাক্রমে ঘটেছিল (এইভাবে রিয়েল কোড (টিএম) লেখার সময় কোনও 'উদ্দেশ্যমূলক' আপত্তিজনক কৌশল ব্যবহার করে না) - উভয় কার্যকারী এবং ত্রুটি সৃষ্টিকারী কোডগুলি (এবং চেহারা) সহজ এবং সোজা, সুতরাং আমি এখানে অন্তর্ভুক্ত করার পক্ষে যথেষ্ট পরিচ্ছন্ন ভেবেছিলাম। আসল কোড

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

ত্রুটি উত্পন্ন করার কোডটি (শেষ '<' মুছে ফেলা হয়েছে তাই এটি তুলনামূলক তুলনায় কম দেখায়, তবে noooooooooooooo ...)

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

আদর্শ 'ডটকম জি ++ ৪.৩.২ এ সংকলক ত্রুটি বার্তাগুলির এটি' কেবল '8241 বাইট।


1
এমনকি যদি এটি চ্যালেঞ্জের চেতনায় রয়েছে বলে মনে হয় (যেহেতু শিরোনামটি "একটি চরিত্র টাইপো বলে"), এটি বিধি 2 অনুসরণ করে না যা বলে যে আপনি কেবল একটি চরিত্র যুক্ত করতে পারবেন , মুছতে বা পরিবর্তন করতে পারবেন না।
জো কিং
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.