#include <stdio.h>
void wrap(void);
int main(void)
{
void test();
printf("main\n");
wrap();
return 0;
}
void wrap(void)
{
test();
}
void test(void)
{
printf("test\n");
}
以上代码在VC++6.0中编译正常
但从概念上来说是错误的
猜测VC++6.0隐式对test声明指定文件作用域
但实际上是块作用域,所以wrap中的引用是错的
不知VS2003、VS2005、VS2008中的编译情况如何
GCC也测试一下