操作数类型不兼容(" bool(*)()"和" bool")

时间:2016-11-30 23:10:01

标签: c++

我正在尝试在Visual Studio Community 2015中创建一个程序来玩Tic-Tac-Toe。听起来很简单,而不是那么多。 无论如何,我正在使用函数[bool playerCheck()]来为检查用户选择的空间是否已被占用的函数进行切换。

void checkInput()
{
    if (playerCheck == true)

Visual Studio在" =="下提供了波浪线。并给出消息

操作数类型不兼容(" bool(*)()"和" bool")。

不确定将函数输出与常量进行比较的语法应该如何。

1 个答案:

答案 0 :(得分:1)

playerCheck是一个需要调用的函数,以获得布尔结果,即:

if (playerCheck() == true)

bool (*)()函数的一个类型,它不带参数并返回一个布尔值。

playerCheck == true试图将函数指针与布尔值进行比较,这会导致编译错误,这就说明了问题。

playerCheck() == true 调用函数并将结果(类型为boolean)与布尔值进行比较。

请注意,if (x == true)通常缩写为if (x),因此您只需编写

if (playerCheck())