【leetcode】报错:Char 5: error: non-void function does not return a value in all control paths
·
代码中出错的地方
// 棋盘边长N,返回所有的合适的放置方案
vector<vector<string>> solveNQueens(int n) {
// board棋盘,初始化为空
vector<string> board(n,string(n,'.'));
if(backtrack(board,0))
return res;
}
// 就在最后这个}这里报错了
报错是什么意思?
字符5:错误:非空函数未在所有控制路径中返回值[-Werror,-Wreturn-type]
}
^
产生1个错误。
白话解释
只在backtrack(board,0)是true时,会返回res来符合函数的返回类型vector<vector>。没有考虑到backtrack(board,0)是false的情况,即「没有考虑到所有的情况」。
改bug
// 棋盘边长N,返回所有的合适的放置方案
vector<vector<string>> solveNQueens(int n) {
// board棋盘,初始化为空
vector<string> board(n,string(n,'.'));
if(backtrack(board,0))
return res;
else
return {{}};//表示出来false的路怎么走
}
撒花~
更多推荐
所有评论(0)