Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

सी प्रोग्राम जो सी ++ में संकलित नहीं होगा

सी ++ भाषा को सी के साथ ऑब्जेक्ट ओरिएंटेड अवधारणाओं जैसी कुछ अतिरिक्त सुविधाओं को जोड़कर डिज़ाइन किया गया है। अधिकांश सी प्रोग्रामों को सी ++ कंपाइलर का उपयोग करके भी संकलित किया जा सकता है। हालांकि कुछ प्रोग्राम ऐसे हैं जिन्हें C++ कंपाइलर का उपयोग करके संकलित नहीं किया जा सकता है।

आइए कुछ कोड देखें, जो C कंपाइलर में संकलित होंगे, लेकिन C++ कंपाइलर में नहीं।

इस प्रोग्राम में C++ कोड के लिए एक संकलन त्रुटि होगी। क्योंकि यह ऐसे फ़ंक्शन को कॉल करने का प्रयास कर रहा है जिसे पहले घोषित नहीं किया गया है। लेकिन सी में यह संकलित हो सकता है

सी के लिए

उदाहरण

#include<stdio.h>
int main() {
   myFunction(); // myFunction() is called before its declaration
}
int myFunction() {
   printf("Hello World");
   return 0;
}

आउटपुट(सी)

Hello World

आउटपुट (C++)

[Error] 'myFunction' was not declared in this scope

C++ में एक सामान्य सूचक कुछ स्थिर चरों को इंगित नहीं कर सकता, लेकिन C में, यह इंगित कर सकता है।

सी के लिए

उदाहरण

#include<stdio.h>
int main() {
   const int x = 10;
   int *ptr;
   ptr = &x;
   printf("The value of x: %d", *ptr);
}

आउटपुट(सी)

The value of x: 10

आउटपुट (C++)

[Error] invalid conversion from 'const int*' to 'int*' [-fpermissive]

सी ++ में, हमें स्पष्ट रूप से टाइपकास्ट करना पड़ता है जब हम कुछ अन्य पॉइंटर प्रकार जैसे int*, char* को शून्य पॉइंटर को असाइन करना चाहते हैं, लेकिन सी में, यदि यह टाइप कास्ट नहीं है, तो इसे संकलित किया जाएगा।

सी के लिए

उदाहरण

#include<stdio.h>
int main() {
   void *x;
   int *ptr = x;
   printf("Done");
}

आउटपुट(सी)

Done

आउटपुट (C++)

[Error] invalid conversion from 'void*' to 'int*' [-fpermissive]

C++ में, हमें निरंतर चरों को इनिशियलाइज़ करना होगा लेकिन C में, इसे बिना इनिशियलाइज़ेशन के संकलित किया जा सकता है।

सी के लिए

उदाहरण

#include<stdio.h>
int main() {
   const int x;
   printf("x: %d",x);
}

आउटपुट(सी)

x: 0

आउटपुट (C++)

[Error] uninitialized const 'x' [-fpermissive]

C में हम 'new' नाम के कुछ वेरिएबल का उपयोग कर सकते हैं। लेकिन C++ में, हम इस नाम को वेरिएबल नाम के रूप में उपयोग नहीं कर सकते क्योंकि C++ में, 'नया' एक कीवर्ड है। इसका उपयोग मेमोरी स्पेस आवंटित करने के लिए किया जाता है।

सी के लिए

उदाहरण

#include<stdio.h>
int main() {
   int new = 10;
   printf("new: %d",new);
}

आउटपुट(सी)

new: 10

आउटपुट (C++)

[Error] expected unqualified-id before 'new'
[Error] expected type-specifier before ')' token

हम निम्नलिखित कोड को C++ में संकलित नहीं कर सकते हैं। यह एक त्रुटि लौटाएगा जब हम int को char* में बदलने का प्रयास कर रहे हैं। लेकिन सी में, यह ठीक काम करेगा।

सी के लिए

उदाहरण

#include<stdio.h>
int main() {
   char *c = 123;
   printf("c = %u", c);
}

आउटपुट(सी)

c = 123

आउटपुट (C++)

[Error] invalid conversion from 'int' to 'char*' [-fpermissive]

सी में हम मुख्य () के रिटर्न प्रकार के रूप में शून्य का उपयोग कर सकते हैं, लेकिन सी ++ में, हमें int को मुख्य () के रिटर्न प्रकार के रूप में उपयोग करना होगा।

सी के लिए

उदाहरण

#include<stdio.h>
void main() {
   printf("Hello World");
}

आउटपुट (सी)

Hello World

आउटपुट (C++)

[Error] '::main' must return 'int'

  1. ऐसे प्रोग्राम को अनइंस्टॉल कैसे करें जो विंडोज 10 पर अनइंस्टॉल नहीं होंगे

    आप किसी प्रोग्राम को निकालने का प्रयास करते हैं, लेकिन वह प्रोग्राम आपके Windows 10 PC पर अनइंस्टॉल नहीं होगा। ऐसा कई कारणों से होता है, जिनमें से कुछ प्रोग्राम से नहीं बल्कि आपके सिस्टम से संबंधित होते हैं। सौभाग्य से, आप सरल प्रक्रियाओं का पालन करके अधिकांश अनइंस्टॉल समस्याओं को ठीक कर सकते हैं।

  1. सी ++ प्रोग्राम में बाइनरी सर्च?

    द्विआधारी खोज, जिसे अर्ध-अंतराल खोज, लॉगरिदमिक खोज या बाइनरी चॉप के रूप में भी जाना जाता है, एक खोज एल्गोरिथ्म है जो एक क्रमबद्ध सरणी के भीतर लक्ष्य मान की स्थिति का पता लगाता है। बाइनरी खोज लक्ष्य मान की तुलना सरणी के मध्य तत्व से करती है। यदि वे समान नहीं हैं, तो आधा जिसमें लक्ष्य झूठ नहीं बोल सकत

  1. C++ प्रोग्राम को कंपाइल और रन कैसे करें?

    एक बार जब आप अपना कंपाइलर और स्रोत प्रोग्राम तैयार कर लेते हैं, तो सी ++ प्रोग्राम को संकलित करना और चलाना बहुत आसान होता है। यह मानते हुए कि आपने GCC कंपाइलर स्थापित किया है, और आपके पास एक source.cpp फ़ाइल है जिसे आप संकलित करना चाहते हैं, इसे संकलित करने और चलाने के लिए निम्न निर्देशों का पालन कर