“wrong type argument to increment” というエラーメッセージは、C 言語のインクリメント演算子(++)が適用できない型の式に対して使用された場合に発生します。
例えば、次のようなコードを見てみましょう。
#include <stdio.h>
int main(void) {
  int x = 123;
  char c = 'A';
  // x は int 型の変数なので、++ 演算子は適用できます。
  ++x;
  // c は char 型の変数なので、++ 演算子は適用できます。
  ++c;
  // "abc" は文字列リテラルなので、++ 演算子は適用できません。
  // そのため、このコードはエラーになります。
  ++"abc";
  return 0;
}このコードでは、最初の ++x の行では x という int 型の変数に ++ 演算子が適用されています。これは、++ 演算子が適用できる int 型の式であるため、問題ありません。
2番目の ++c の行では c という char 型の変数に ++ 演算子が適用されています。これも、++ 演算子が適用できる char 型の式であるため、問題ありません。
しかし、3番目の ++”abc” の行では “abc” という文字列リテラルに ++ 演算子が適用されています。これは、++ 演算子が適用できない文字列リテラルであるため、このコードはエラーになります。
このように、C 言語では ++ 演算子が適用できない型の式に対して使用された場合、”wrong type argument to increment” というエラーメッセージが発生することになります。
 
  
  
  
  
コメント