2015-11-01 89 views
0

在C我正在写一些我第一次练习。早些时候,我试图在main中声明一个简单的函数,它带有一个错误:“函数定义不允许在这里”。但我认为一个函数可以在主或者外面声明,唯一的区别是范围??在这里,我还读过其他人在主内部编写函数的问题,为什么它不让我这样做呢? 感谢声明一个函数?

+0

你应该显示你的代码,否则没有人可以帮你。但请注意,在C中,你不能在另一个内部定义一个函数。 – Renzo

+0

http://stackoverflow.com/questions/957592/functions-inside-functions-in-c – Rob

+0

也许使用Pascal来代替? :) –

回答

3

可以声明另一个函数里面的函数:

int main(void) { 
    int foo(int); // declaration 
    ... 
} 

但你不能定义功能的其它函数内部:

int main(void) { 
    // Doesn't work. 
    int foo(int x) { 
     return x * 2; 
    } 
    ... 
} 

此外,声明在函数内部其他功能是非常不寻常的事情,并且基本上不需要。