我正在尝试在Visual Studio Community 2015中创建一个程序来玩Tic-Tac-Toe。听起来很简单,而不是那么多。 无论如何,我正在使用函数[bool playerCheck()]来为检查用户选择的空间是否已被占用的函数进行切换。
void checkInput()
{
if (playerCheck == true)
Visual Studio在" =="下提供了波浪线。并给出消息
操作数类型不兼容(" bool(*)()"和" bool")。
不确定将函数输出与常量进行比较的语法应该如何。
答案 0 :(得分:1)
playerCheck
是一个需要调用的函数,以获得布尔结果,即:
if (playerCheck() == true)
bool (*)()
是函数的一个类型,它不带参数并返回一个布尔值。
playerCheck == true
试图将函数指针与布尔值进行比较,这会导致编译错误,这就说明了问题。
playerCheck() == true
调用函数并将结果(类型为boolean)与布尔值进行比较。
请注意,if (x == true)
通常缩写为if (x)
,因此您只需编写
if (playerCheck())