警告:控件到达非 void 函数的末尾
Warning: control reaches end of non void function
我很确定我的 return 声明是正确的,所以我不知道为什么会这样显示。
/* 检查 table 完整功能 */
bool check_table_full (char board[][SIZE])
{
int row, col;
for (row = 0; row < SIZE; row++) {
for (col = 0; col < SIZE; col++) {
if (board[row][col] != '_') {
return true;
}
else {
return false;
}
}
}
}
编译器往往无法理解对人类来说显而易见的东西。您需要在末尾使用默认 return 来说服编译器。或者重组函数,这样你就不会 return 在函数中间。
你可以试试这个,例如:
bool check_table_full (char board[][SIZE])
{
int row, col;
for (row = 0; row < SIZE; row++) {
for (col = 0; col < SIZE; col++) {
if (board[row][col] != '_') {
return true;
} else {
return false;
}
}
}
return false;
}
此代码有效:
bool check_table_full (char board[][SIZE])
{
int row, col;
for (row = 0; row < SIZE; row++) {
for (col = 0; col < SIZE; col++) {
if (board[row][col] != '_') {
return true;
}
}
}
return false;
}
我很确定我的 return 声明是正确的,所以我不知道为什么会这样显示。
/* 检查 table 完整功能 */
bool check_table_full (char board[][SIZE])
{
int row, col;
for (row = 0; row < SIZE; row++) {
for (col = 0; col < SIZE; col++) {
if (board[row][col] != '_') {
return true;
}
else {
return false;
}
}
}
}
编译器往往无法理解对人类来说显而易见的东西。您需要在末尾使用默认 return 来说服编译器。或者重组函数,这样你就不会 return 在函数中间。
你可以试试这个,例如:
bool check_table_full (char board[][SIZE])
{
int row, col;
for (row = 0; row < SIZE; row++) {
for (col = 0; col < SIZE; col++) {
if (board[row][col] != '_') {
return true;
} else {
return false;
}
}
}
return false;
}
此代码有效:
bool check_table_full (char board[][SIZE])
{
int row, col;
for (row = 0; row < SIZE; row++) {
for (col = 0; col < SIZE; col++) {
if (board[row][col] != '_') {
return true;
}
}
}
return false;
}