“wrong type argument to unary exclamation mark” というエラーメッセージは、プログラミング言語 C で、! (exclamation mark) 演算子が用いられたときに発生します。例えば次のようなコードです。
int a = 10; int b = !a; // 'a' は int 型の変数であるため、! 演算子は使用できません
このコードでは、a
は int
型の変数ですが、! (exclamation mark) 演算子は、型 bool の値に対してのみ使用できます。そのため、このようなコードを実行しようとすると、”wrong type argument to unary exclamation mark” というエラーメッセージが表示されます。
この問題を解決するには、! (exclamation mark) 演算子が用いられる前に、a
を型 bool の値に変換する必要があります。例えば、次のようなコードです。
int a = 10; bool b = (bool)a; // 'a' を bool 型の値にキャストする int c = !b; // ! 演算子は bool 型の値に対して使用できる
このように、a
を型 bool の値に変換することで、! (exclamation mark) 演算子が使用できるようになります。こうすることで、”wrong type argument to unary exclamation mark” というエラーメッセージが発生しないようになります。
コメント