編寫一個在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等。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP