无法识别函数定义

Function Definition not recognized

本文关键字:定义 函数 识别      更新时间:2023-10-16
#include <vector>
#include <iostream>
using namespace std;
typedef vector<bool> row;
typedef vector<row> matrix;

//Corner functions
int population_tlc(int x, int y, matrix& grid)
{
    int popu;
    for(int yi = y+1; yi >= y; y--)
    {
        for(int xi = x+1; xi >= x; x--)
        {
           if (grid[yi][xi] == true)
           {
               popu++;
           }
        }
    }
    return popu;
}
int population_trc(int x, int y, matrix& grid)
{
    int popu;
    for(int yi = y+1; yi >= y; y--)
    {
        for(int xi = x-1; xi <= x; x++)
        {
           if (grid[yi][xi] == true)
           {
               popu++;
           }
        }
    }
    return popu;
}
int population_blc(int x, int y, matrix& grid)
{
    int popu;
    for(int yi = y-1; yi <= y; y++)
    {
        for(int xi = x-1; xi >= x; x--)
        {
           if (grid[yi][xi] == true)
           {
               popu++;
           }
        }
    }
    return popu;
}

int population_brc(int x, int y, matrix& grid)
{
    int popu;
    for(int yi = y-1; yi <= y; y++)
    {
        for(int xi = x-1; xi <= x; x++)
        {
           if (grid[yi][xi] == true)
           {
               popu++;
           }
        }
    }
    return popu;
}
//Edge functions
int population_left(int x, int y, matrix& grid)
{
    int popu;
    for(int yi = y-1; yi <= y+1; y++)
    {
        for(int xi = x; xi<= x+1; x++)
        {
            if(xi == x && yi == y)
            {
                continue;
            }
            if (grid[yi][xi] == true)
           {
               popu++;
           }
    }
    return popu;
}

int population_top(int x, int y, matrix& grid)
{
    int popu;
    for(int yi = y; yi <= y+1; y++)
    {
        for(int xi = x-1; xi<= x+1; x++)
        {
            if(xi == x && yi == y)
            {
                continue;
            }
            if (grid[yi][xi] == true)
           {
               popu++;
           }
        }
    }
    return popu;
}
int population_right(int x, int y, matrix& grid)
{
    int popu;
    for(int yi = y-1; yi <= y+1; y++)
    {
        for(int xi = x-1; xi<= x; x++)
        {
            if(xi == x && yi == y)
            {
                continue;
            }
            if (grid[yi][xi] == true)
           {
               popu++;
           }
        }
    }
    return popu;
}

我正在尝试制作一个模仿康威生活游戏的程序。 这些函数采用 x 和 y 坐标以及 main 中网格的参考。这些函数检查网格中 x 和 y 坐标点的环境,并决定它是真(活动(还是假(死(。问题是,在最后两个函数中,即使我定义了函数,IDE 也会不断提示我进行;。我还有一个装满所有函数原型的标题保护。

#include <vector>
#include <iostream>
using namespace std;
typedef vector<bool> row;
typedef vector<row> matrix;
int population_tlc(int x, int y, matrix& grid);
int population_trc(int x, int y, matrix& grid);
int population_blc(int x, int y, matrix& grid);
int population_brc(int x, int y, matrix& grid);
int population_left(int x, int y, matrix& grid);
int population_top(int x, int y, matrix& grid);
int population_right(int x, int y, matrix& grid);
int population_bottom(int x, int y, matrix& grid);

我的问题是如何让它"意识到"它是一个函数定义和一个不完整的函数原型。 提前谢谢你

此函数中缺少一个}

int population_left(int x, int y, matrix& grid)
{
    int popu;
    for(int yi = y-1; yi <= y+1; y++)
    {
        for(int xi = x; xi<= x+1; x++)
        {
            if(xi == x && yi == y)
            {
                continue;
            }
            if (grid[yi][xi] == true)
           {
               popu++;
           }
    }
    return popu;
}

因此,请将其替换为:

int population_left(int x, int y, matrix& grid)
{
    int popu;
    for(int yi = y-1; yi <= y+1; y++)
    {
        for(int xi = x; xi<= x+1; x++)
        {
            if(xi == x && yi == y)
            {
                continue;
            }
            if (grid[yi][xi] == true)
            {
               popu++;
            }
         }
    }
    return popu;
}

您可以找到一些编辑器或IDE,它们可能会为您突出显示此类拼写错误;)(例如 emacs(