小编kim*_*ms9的帖子

“bool *”类型的值不能分配给“bool (*)(intenemy_piece)”类型的实体

我无法声明我之前创建的函数指针的地址,并且我无法理解我做错了什么。

我声明了函数指针,指向返回 abool并采用 1 个整数参数的函数。

根据情况,函数指针应指向两个函数之一:bool is_blackbool 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)

c++ function-pointers function-address

0
推荐指数
1
解决办法
766
查看次数

标签 统计

c++ ×1

function-address ×1

function-pointers ×1