• 締切済み

メモリを開放する場合。

リスト構造の1つのセルを削除し、 そのメモリ領域を削除するときに、 64 free(p->value); エラー E2342 a.c 64: パラメータ '__block' は void * 型として定義されているのでint は渡せない(関数 delete ) とでます。 このエラーはどういう意味なのでしょうか? アドバイスや解決方法おまちしてます。

みんなの回答

  • g_vikke
  • ベストアンサー率16% (15/90)
回答No.2

そのままの意味だと思いますが。 valueの宣言部分くらい書きましょうよ。一応pも。 あと、freeのプロトタイプも念のため。 何かpを渡すように見えるけど。。。 メモリ確保した時と同じ要領だと思います。

回答No.1

その通りの意味です……では、身も蓋もないので。 おそらくやるべきことは、 free(p); ですね。 リストの個々の要素ではなくて、ひとつのセル全体を開放することになります。そのあたりは、「リスト構造」をよく勉強してみるしかないです。