vc2005中,同时有#include<stdio.h> #include<cstdio> ,然后调用printf,为什么不报错呢

来源:百度知道 编辑:UC知道 时间:2024/06/01 04:57:24
vc2005中,同时有#include<stdio.h> #include<cstdio> ,然后调用printf,为什么不报错呢

#include<stdio.h> #include<cstdio>应该是向程序中引入了两个不同的库,这两个不同的库都有printf,编译器应该不知道调用哪个printf的,应该报错的,为什么没有报错呢。

显然你的printf是<stdio.h>中的,要引用<cstdio>的这个函数应该这么用std::printf,还有你要记住,stdio.h是老式的C,C++头文件,cstdio是标准 C++(STL),且cstdio中的函数都是定义在一个名字空间std里面的,如果要调用这个名字空间的函数,必须得加std::或者在文件中声明use namespace std

LS正解。