首页 > 解决方案 > 语句超出功能,但在哪里?

问题描述

努力完成本季度的最后一项作业,平衡我的工作和其他课程。我希望有一双额外的眼睛来告诉我,我的陈述在世界上的哪个地方超出了我的职能范围:

这是一个实现文件。关联的标头没有引发任何错误。

我收到以下错误:

1.) 在 test.cpp:7:0 中包含的文件中:GBoard.cpp:31:2: error: expected unqualified-id before 'for'</p>

for (int r=0; r<15; r++)

2.) GBoard.cpp:31:14: 错误: 'r' 没有命名类型

for (int r=0; r<15; r++)

但我很确定 2 是我的代码的一部分,不知何故在函数之外。

这是我的代码,部分已编辑,因此我不会受到抄袭的打击:

bool Gfunction::makeMove(int redacted,int redacted,char secret)
{

    if(redacted >= 0 && redacted < 15 && redacted >= 0 && redacted<15)
    {
        if(redacted() == UNFINISHED && function[redacted][redacted] == '.')
        function[redacted][redacted] = secret;
        return true;
    }   
        else
    {
        return false;

    }

    int track = 0;


    for(int r=0;r<15;r++)
    {
        track = 0;
            for(int c=0;c<15;c++)
            {
                    if(function[r][c] == secret)
                    {
                track++;
                    if(track==5)
                        {
                                if(secret == 'x')
                                secret squirrel stuff = X_WON;
                                else
                            secret squirrel stuff = O_WON;
                                return true;
                    }
                }
                else
                {
                    track = 0;
                }
        }

    }   



    for(int r=0;r<15;r++)
    {
            track = 0;
            for(int c=0;c<15;c++)
            {
                    if(function[r][c] == secret)
                    {  
                        track++;
                        if(track==5)
                        {
                            if(secret == 'x')
                                secret squirrel stuff = X_WON;
                                else
                                secret squirrel stuff = O_WON;
                                return true;
                        }

                    }
                        else
                    {
                            track = 0;
                    }
            }

    }



        int r = 0, c = 0;
        for(int redacted = 0; redacted<15; redacted++)
        {
            r = redacted;
                c = 0;
                track = 0;
                while(r < 15 && c < 15)
                {
                    if(function[r][c] == secret)
                    {
                        track++;
                        if(track == 5)
                        {
                                if(secret == 'x')
                                secret squirrel stuff = X_WON;
                                else
                                secret squirrel stuff = O_WON;
                                return true;
                        }
                }
                        else
                        {
                                track = 0;
                        }
                                r++;
                                c++;
        }
    }

    for(int redacted = 0; redacted<15; redacted++)
    {
            r=0;
            c=redacted;
            track=0;
            while(r<15 && c<15)
                {
                    if(function[r][c] == secret)
                    {
                            track++;
                            if(track == 5)
                            {
                                if(secret == 'x')
                                secret squirrel stuff = X_WON;
                                else
                                secret squirrel stuff = O_WON;
                                return true;
                        }
            }
                        else
                        {
                                track = 0; 
                        }
                                r++;
                                c++;
                }
        }


    for(int redacted=0; redacted<15; redacted++)
    {
        r=redacted;
        c=15-1;
        track=0;
        while(r<15 && c>=0)
        {
                    if(function[r][c] == secret)
                    {
                        track++;
                        if(track == 5)
                {
                    if(secret == 'x')
                            secret squirrel stuff = X_WON;
                            else
                            secret squirrel stuff = O_WON;
                            return true;
                        }
            }
                            else
                    {
                            track = 0;
                    }
                            r++;
                            c--;
        }
    }


    for(int redacted=15-1;redacted>=0;redacted--)
    {
            r=0;
            c=redacted;
            track=0;
            while(r<15 && c>= 0)
            {
                    if(function[r][c] == secret)
                    {
                        track++;
                        if(track == 5)                    
                        {
                                if(secret == 'x')
                                secret squirrel stuff = X_WON;
                                else
                                secret squirrel stuff = O_WON;
                                return true;
                        }
            }
                        else
                        {
                            track = 0;
                        }
                            r++;
                            c--;
            }
        } 


    for(int r=0;r<15;r++)
    {
            for(int c=0;c<15;c++)
            {
            if(function[r][c] == '.')
                {
                    secret squirrel stuff = UNFINISHED;
                    return true;
            }
        }
    }  
        secret squirrel stuff = DRAW;
        return true;
}

标签: c++11for-loopif-statement

解决方案


仔细检查你最内心的if陈述。例如:

if(track == 5)
{
    if(secret == 'x')
        secret squirrel stuff = X_WON;
        else
        secret squirrel stuff = O_WON;
        return true;
}

可能

if(track == 5)
{
    if(secret == 'x')
        secret squirrel stuff = X_WON;
    else
        secret squirrel stuff = O_WON;
    return true;
}

或者

if(track == 5)
{
    if(secret == 'x')
        secret squirrel stuff = X_WON;
     else{
        secret squirrel stuff = O_WON;
        return true;
     }
}

取决于你的算法逻辑。


推荐阅读