Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++로 컴파일되지 않는 C 프로그램 작성

<시간/>

여기에서는 C++로 컴파일되지 않는 일부 C 프로그램을 작성할 것입니다. C++는 모든 기능을 갖추고 C 코드와 호환되는 c의 후속 제품으로 간주되지만 C++ 컴파일러로 컴파일할 때 컴파일러가 되지 않거나 컴파일 오류가 발생하는 일부 프로그램이 있습니다.

C++로 컴파일되지 않는 일부 C 프로그램 목록은 다음과 같습니다. -

  • 선언 전에 함수 호출 − C++에서 선언 전에 함수를 호출하면 컴파일 오류가 발생합니다. 그러나 이것은 c에서 잘 작동합니다.

예시

#include <stdio.h>
int main(){
   printHello();
   return 0;
}
void printHello(){
   printf("TutorialsPoint");
}

출력

TutorialsPoint
  • 타입캐스트 포인터 사용 − c에서 포인터를 void로 선언한 다음 이 포인터를 사용하여 다른 데이터 변수를 가리키는 경우. 이것은 컴파일러 자체에 의해 C에서 수행될 수 있지만 C++에서는 이러한 포인터를 형변환해야 합니다.

예시

#include <stdio.h>
int main(){
   void *ptr;
   int *ptr2 = ptr;
   return 0;
}
  • 초기화하지 않고 상수 값 선언 − C에서는 값을 제공하지 않고 상수 값을 선언할 수 있지만 C++에서 수행하면 오류가 반환됩니다.

예시

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

출력

0
  • const 변수와 함께 일반 포인터 사용 − C++에서는 이것이 허용되지 않는 반면 c에서는 일반 포인터와 함께 const 변수를 사용할 수 있습니다.

예시

#include <stdio.h>
int main(void){
   int const x = 3424;
   int *cptr = &x;
   printf("value of pointer : %d\n", *cptr);
   return 0;
}

출력

 Value of pointer: 3424
  • 특정 키워드를 변수 이름으로 사용 − C 프로그래밍 언어에서 특정 키워드를 변수 이름으로 사용하는 것은 유효합니다. 즉, C에서는 컴파일되지만 C++에서는 컴파일되지 않습니다.

예시

#include <stdio.h>
int main(void){
   int class = 5;
   printf("%d", class);
}

출력

5

이것들은 C++에 포함된 키워드이며 일부는 new, delete,explicit 등입니다.