2016-11-30 10 views
-6

Visual Studio Community 2015でTic-Tac-Toeを再生するプログラムを作成しようとしています。シンプルではなく、それほど多くはありません。 とにかく、[bool playerCheck()]関数を使用して、ユーザーが選択したスペースが既に選択されているかどうかをチェックする関数を切り替えます。オペランドタイプが互換性がありません( "bool(*)()"と "bool")

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

Visual Studioは、 "==" の下に波線を与え、

オペランドの型に互換性がないメッセージが表示されます( "ブール値(*)()" と "BOOL")。

関数の出力を定数と比較するための構文がどのようになっているかわかりません。

+2

チュートリアル、*は任意の*チュートリアルを読むを書くことができるようにif (x == true)は、一般的に、if (x)に省略できることに注意してください? – Voo

+1

'playerCheck()'は 'bool playerCheck(){/ * ... * /}'を呼び出す方法です – crashmstr

+0

'if(playerCheck()== true)'またはそれより優れた 'if(playerCheck())' – pm100

答えて

1

playerCheckはすなわち、ブール結果を得るために呼び出す必要がある機能です。:

if (playerCheck() == true) 

bool (*)()は引数を取りませんし、ブール値を返す関数のタイプです。

playerCheck == trueは、自身のために語ってコンパイルエラーにつながるブール値で関数ポインタを比較しようとする試みです。

playerCheck() == trueは、の関数を呼び出し、(boolean型の)結果をブール値と比較します。


あなただけ

if (playerCheck()) 
+0

(なぜなら、これが正しいことを覚えていないからです)。 – pm100

+1

@ Pm100このような恐ろしい質問に答えるためには(チュートリアルの最初の10行を読んでみると良いと思うのですが)簡単な担当者がこれらの質問を励まして下向きの渦巻きにつなげる。 – Voo

+1

あなたは悪い質問に答えるのが担当者を得ようとしていると思いますか?助けになるだけの人のようです。私はいつもそれをする。言語のチュートリアルでは、いくつかの非常に基本的なことをカバーしていない場合があります。私が最初にfortranを学んだとき(長年前)、彼らはコメントのためのコラムのレイアウトなどについて話しました。私は本当に限られたことに困惑していました。誰かがあなたに複数のカード* – pm100

関連する問題