在下面的代码中,在我递归调用函数的所有行中,我收到此错误:
[错误]表达式列表在初始化程序[-fpermissive]
中被视为复合表达式
我认为这与我没有放入变量类型有关, 但是当我这样做时,我得到另一个错误声称它期望一个','或者' ...'在' +'前面或' - '。
#include <iostream>
#include <vector>
using namespace std;
int lastmove = 0;
// Returns true if you can reach the bottom-right (otherwise returns false).
// You can move up, down, left, or right. You cannot move diagonally.
// 1 represents a wall. You cannot go through a wall.
bool winnable(int maze[5][5], int m, int n) {
// Testing moves in right, down, left and up directions
// If the previous move is the opposite vertically or horizontally
// It is not valid
if (n<6&& maze[m][++n]!=1 && lastmove!=3){
if(m==5&&n==5)
return true;
lastmove = 1;
bool winnable(maze, m, ++n);
答案 0 :(得分:0)
要正确调用winnable()
(或任何相关函数),您不应指定其返回类型。
而不是尝试这个:
bool winnable(maze, m, ++n);
你应该这样称呼它:
bool result = winnable(maze, m, ++n); // store the result of winnable() for later use