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

C प्रोग्राम जो C++ में कंपाइल नहीं होगा

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

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

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

C के लिए

उदाहरण

#include <stdio.h>
int main() {
    myFunction(); // myFunction() घोषणा से पहले कॉल की गई
}
int myFunction() {
    printf("Hello World");
    return 0;
}

आउटपुट (C)

Hello World

आउटपुट (C++)

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

C++ में एक सामान्य पॉइंटर कुछ स्थिर वेरिएबल्स को इंगित नहीं कर सकता, लेकिन C में यह इंगित कर सकता है।

C के लिए

उदाहरण

#include <stdio.h>
int main() {
    const int x = 10;
    int *ptr;
    ptr = &x;
    printf("x का मान: %d", *ptr);
}

आउटपुट (C)

x का मान: 10

आउटपुट (C++)

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

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

C के लिए

उदाहरण

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

आउटपुट (C)

Done

आउटपुट (C++)

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

C++ में, हमें स्थिर वेरिएबल्स को आरंभ करना होगा लेकिन C में यह आरंभीकरण के बिना कंपाइल हो सकता है।

C के लिए

उदाहरण

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

आउटपुट (C)

x: 0

आउटपुट (C++)

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

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

C के लिए

उदाहरण

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

आउटपुट (C)

new: 10

आउटपुट (C++)

[Error] expected unqualified-id before 'new'

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

C के लिए

उदाहरण

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

आउटपुट (C)

c = 123

आउटपुट (C++)

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

C में हम main() के रिटर्न प्रकार के रूप में void का उपयोग कर सकते हैं, लेकिन C++ में हमें main() के रिटर्न प्रकार के रूप में int का उपयोग करना होगा।

C के लिए

उदाहरण

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

आउटपुट (C)

Hello World

आउटपुट (C++)

[Error] '::main' must return 'int'
  1. विंडोज 10 पर उन प्रोग्राम्स को अनइंस्टॉल कैसे करें जो अनइंस्टॉल नहीं होते विंडोज 10 पर उन प्रोग्राम्स को अनइंस्टॉल कैसे करें जो अनइंस्टॉल नहीं होते

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

  1. C++ में बाइनरी खोज प्रोग्राम C++ में बाइनरी खोज प्रोग्राम

    बाइनरी खोज क्या है? बाइनरी खोज (आधा-अंतराल खोज) एक खोज एल्गोरिदम है जो क्रमबद्ध सरणी में लक्ष्य मान की स्थिति ढूंढता है। यह लक्ष्य मान की तुलना मध्य तत्व से करता है और खोज स्थान को आधा कर देता है। मुख्य बिंदु केवल क्रमबद्ध सरणी पर काम करता है समय जटिलता: O(log n) दुनिया के सभी नाम क्रमबद्ध हों तो

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

    एक बार जब आपका कंपाइलर और सोर्स प्रोग्राम तैयार हो जाता है, तो C++ प्रोग्राम को कंपाइल और रन करना बहुत आसान होता है। मान लें कि आपने GCC कंपाइलर इंस्टॉल किया है, और आपके पास एक source.cpp फाइल है जिसे आप कंपाइल करना चाहते हैं, तो इसे कंपाइल और रन करने के लिए निम्नलिखित निर्देशों का पालन करें। चरण 1