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;
}