C++有更嚴格的類型轉換要求
C++中對類型轉換有嚴格的要求,需要的類型和給的類型不
一致時可能會編譯報錯
例如:
C語言中
#include<stdio.h>
#include<stdlib.h>
//全局變量
//C語言中的函數的形參的類型可以不寫,沒有返回值可以返回,實參的個數不做檢測
int a;
int a;
int a;
void foo(x, y) {
?? ?return 100;
}
test01() {
?? ?foo(1);
?? ?foo(1,2);
?? ?foo(1,2,3);
}
void test02()
{
?? ?char * p = malloc(1000);
}
int main()
{
?? ?return 0;
}
這段代碼可以通過
而C++中這段代碼不通過
需要進行強制類型轉換
#include<iostream>
#include<stdlib.h>
using namespace std;
//全局變量
//C語言中的函數的形參的類型必須寫,沒有返回值可以不返回,實參的個數做檢測
//int a;
//extern int a;
//extern int a;
//void foo(x, y) {
//?? ?return 100;
//}
//test01() {
//?? ?foo(1);
//?? ?foo(1, 2);
//?? ?foo(1, 2, 3);
//}
void test02()
{
?? ?char * p = (char *)malloc(1000);
//強制類型轉換成char*型
}
int main()
{
?? ?return 0;
}
?