首页 > 解决方案 > '[' 标记 C++ 错误之前的非限定 ID

问题描述

我正在做一个 c++ 应用程序,但在做这件事时遇到了一些麻烦,我无法修复错误。我有一个想在主课中使用的类 ratinmaze,但我得到了很多错误..

大鼠迷宫.h

#ifndef RATINMAZE_H
#define RATINMAZE_H
#include <iostream>


class ratinmaze
{
public:
    ratinmaze();
    int [5][5] solution; //error
    virtual ~ratinmaze();
    ratinmaze(int N);
    void solveMaze(int [][5] maze, int N);
    bool findPath(int [][5] maze, int x, int y, int N, std::string direction);
    bool isSafeToGo(int [][5] maze, int x, int y, int N);
    void print(int [][5] solution, int N);
    void print(int [][5] solution, int N);
protected:

private:
    std::string direction;
    int N;
    int y;
    int x;
};

#endif // RATINMAZE_H

主文件

#include <iostream>
#include "ratinmaze.h"

using namespace std;

int main()
{
int N = 5;
int[5][5] maze = {{ 1, 0, 1, 1,1 },
                 { 1, 1, 1, 0,1 },
                 { 0, 0,0, 1, 1 },
                 { 0, 0, 0, 1,0 },
                 { 0, 0,0, 1, 1 }};
ratinmaze r = new ratinmaze(N);
r.solveMaze(maze, N);
return 0;
}

我在第一行得到错误:

'[' 标记之前的预期 unqualifie-id 并且在下面我得到“错误:预期的','或'...' 在'迷宫'之前

如果你们能帮助我,我将不胜感激!


@更新

我发现我没有以正确的方式创建我的数组,但我的 main 上有一个错误:ratinmaze r = new ratinmaze(N);

错误是:

从 'ratimaze*' 到 'int' 的无效转换 [-fpermissive]

任何想法 ?

标签: c++arraysmultidimensional-array

解决方案


C++ 中的数组在变量名后用方括号声明,如下所示:

int solution[5][5];

推荐阅读