从这个问题中了解到,在C++中在括号中放变量名是可以的
我尝试了以下程序:
#include <iostream>
int main()
{
int (a)();
std::cout << "if this works then deafult value of int should be " << a << std::endl;
return 0;
}
并得到输出结果“如果这个有效,那么int的默认值应该是1”
那么这是真的吗?
编辑::
阅读@james-mcnellis的答案后,当我尝试给a
赋值时,会出现错误“函数‘int a()’的赋值”。
所以现在很清楚,这里的a
是一个函数而不是变量。
a
,也可能不会被编译通过:我不确定哪个operator<<
会被使用。Visual C++打印函数地址(也许是因为它允许将函数指针转换为void*
?),而g++则打印1
(我也不知道为什么...)。 - James McNellis