我无法声明我之前创建的函数指针的地址,并且我无法理解我做错了什么。
我声明了函数指针,指向返回 abool并采用 1 个整数参数的函数。
根据情况,函数指针应指向两个函数之一:bool is_black或bool is_white。将指针分配给is_black函数的地址时没有错误,但是当我尝试对is_white执行相同的操作时,出现此错误。
通过尝试在下一个函数(“ void cover_fields ”)中执行相同的操作,我没有收到任何错误。
bool is_white(int piece)
{
if (piece > 0)
return true;
return false;
}
bool is_black(int piece)
{
if (piece < 0)
return true;
return false;
}
bool is_mate(int** board, bool is_white=true)
{
bool(*is_enemy)(int enemy_piece); //<-- HERE I DECLARED FUNCTION POINTER
int KING;
if (is_white)
{
is_enemy = &is_black;
KING = WHITE_KING;
}
else
{
is_enemy = &is_white; //<-- …Run Code Online (Sandbox Code Playgroud)