2017-02-05 18 views
-3

クラスの外で関数宣言引数としてtrueまたはfalseを指定しようとすると、クラス外の関数定義に "expected type specifier"というエラーが発生します。どうして?関数宣言でTrue&Falseを正しく使用するにはどうすればよいですか?

私が実装しなければならないコードは、この(私はここcardを実装する必要があります)のように呼ばれている:

私は
void write(false) const; 
void write(true, false) const; 
void write(false, false) const; 

:私のヘッダファイルで

card.write(); 
cout << endl << "-------------" << endl; 
card.write(false); 
cout << endl << "-------------" << endl; 
card.write(true, false); 
cout << endl << "-------------" << endl; 
card.write(false, false); 

、私は、それらを定義しました

void write(false) const{} 
void write(true, false) const{} 
void write(false, false) const{} 
+0

としての機能を宣言する非常に野生の推測ですが、あなたが本当に 'true'をを使用するようにしてくださいました正しい「真」と「偽」の代わりに大文字で「偽」を使用しますか? –

+1

郵便番号。コードが何を期待しているのか、実際に何をしているのかを説明してください。 –

+0

なぜ関数宣言で 'true' /' false'(または 'True' /' False'?)を使いたいのですか? – melpomene

答えて

0
:私は、それらを定義した実装ファイル、エラーが予想される型指定子

つまり、関数宣言の値ではなく、data-typeが必要です。あなたのヘッダファイルに

代わりtrueまたはfalse

void foo(bool); 

のデータ型を使用しboolは、

void write(bool) const; 
void write(bool, bool) const; 
void write(bool, bool) const; 
関連する問題