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