读书人

又发现一个奇怪语法,该如何处理

发布时间: 2013-06-26 14:29:32 作者: rapoo

又发现一个奇怪语法

void (function)()
{
printf("123");
}
int main(int argc, char *argv[])
{
function();
return 0;
}


在做源码解析的事,原来考虑会出现")("这种情况的只有typedef (*void)(),函数指针,
没想到,函数也可以这么搞.
不知道编译器是怎么做检查的.
[解决办法]
这就奇怪了吗,你看看这个岂不奇怪:
char const (&fun())[4]
{
return "123";
}
int main(int argc, char *argv[])
{
printf("%s\n", fun());
return 0;
}

读书人网 >C++

热点推荐