ที่นี่ เราจะเขียนโปรแกรมภาษาซีบางโปรแกรมที่ไม่ได้คอมไพล์เป็น 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++ และบางคำเป็นคีย์เวิร์ดใหม่ ลบ โจ่งแจ้ง ฯลฯ