当我试图弄清楚下面代码发生了什么时,我得出了这个结论:
#include <iostream>
int main()
{
std::cout << (div) << '\n';
return 0;
}
Run Code Online (Sandbox Code Playgroud)
div
上述可以与被取代printf
,atoi
,difftime
等不论是否我#include
荷兰国际集团的适当的报头(ctime
,time.h
,cstdlib
,...,),我得到没有编译器错误和节目被打印1
.当我用函数名称作为前缀时,程序没有编译std::
.
Clang
警告解释了发生了什么:
warning: address of function 'div' will always evaluate to 'true' [-Wbool-conversion]
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:
#include
d ,C库函数的名称也没有任何意义?std
?<cxxx>
标题中定义的.