c++的更严格的类型转换要求

C++有更严格的类型转换要求
C++中对类型转换有严格的要求,需要的类型和给的类型不
一致时可能会编译报错
例如:
C语言中
#include
#include
//全局变量
//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
#include
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;
}
 

你可能感兴趣的:(c++,开发语言)