错误:ISO C禁止嵌套函数|

时间:2014-05-07 23:09:48

标签: c

bool winner(char c,int n,char m[n][n])
{
    if(Line(c,n,m))
        return true;

    if(column(c,n,m))
        return true;

    if(Radios1(c,n,m))
        return true;

    if(Radios2(c,n,m))
        return true;

    return false;
}

我得到了这个错误。问题是什么?

1 个答案:

答案 0 :(得分:2)

虽然我试图让我的gcc对此大喊大叫,但我无法成功,但快速查看inter管让我发现以下内容:

  

警告:ISO C禁止嵌套函数

     

在功能结束时缺少右括号。

来自http://users.csc.calpoly.edu/~jdalbey/101/Resources/errormessages.html

更新:感谢@ keith-thompson,我实际上出现了警告:

gcc -std=c99 t.c -o foo -Wall -pedantic
t.c:21:1: warning: ISO C forbids nested functions [-pedantic]
t.c:32:5: error: expected declaration or statement at end of input

以下代码段:

bool looser () {

bool winner(char c,int n,char m[n][n]) {
    if(Line(c,n,m))
        return true;
    if(Column(c,n,m))
        return true;
    if(Radios1(c,n,m))
        return true;
    if(Radios2(c,n,m))
        return true;
    return false;
}

提示:在代码中使用正确的缩进来找出不匹配的{

的位置