Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

เขียนโปรแกรม C ที่ไม่คอมไพล์ใน C++


ที่นี่ เราจะเขียนโปรแกรมภาษาซีบางโปรแกรมที่ไม่ได้คอมไพล์เป็น c++ แม้ว่า c++ จะถือเป็นตัวตายตัวแทนของ c ที่มีคุณสมบัติทั้งหมดและเข้ากันได้กับโค้ด c แต่ก็มีบางโปรแกรมที่จะไม่คอมไพเลอร์หรือได้รับข้อผิดพลาดในการรวบรวมเมื่อคอมไพล์ด้วยคอมไพเลอร์ c++

รายชื่อโปรแกรมภาษาซีบางโปรแกรมที่ไม่สามารถคอมไพล์เป็น c++ ได้แก่ −

  • เรียกใช้ฟังก์ชันก่อนการประกาศ − ใน c++ การเรียกใช้ฟังก์ชันก่อนการประกาศทำให้เกิดข้อผิดพลาดในการรวบรวม แต่สิ่งนี้ใช้ได้ดีในค.

ตัวอย่าง

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

ผลลัพธ์

TutorialsPoint
  • การใช้พอยน์เตอร์แบบพิมพ์ดีด − หากเราประกาศตัวชี้ใน c เป็นโมฆะ แล้วใช้ตัวชี้นี้เพื่อชี้ตัวแปรข้อมูลอื่นๆ ซึ่งสามารถทำได้ใน 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++

ตัวอย่าง

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

ผลลัพธ์

5

เหล่านี้คือคีย์เวิร์ดที่รวมอยู่ใน c++ และบางคำเป็นคีย์เวิร์ดใหม่ ลบ โจ่งแจ้ง ฯลฯ