0
最初のオプションはうまく動作しますが、2番目のオプションを選択したときに{ (struct node)* arr[] }
宣言エラーが発生しました。どこが間違っているか教えてください。struct node * arr []と(struct node)* arr []の違いは何ですか?
最初のオプションはうまく動作しますが、2番目のオプションを選択したときに{ (struct node)* arr[] }
宣言エラーが発生しました。どこが間違っているか教えてください。struct node * arr []と(struct node)* arr []の違いは何ですか?
この場合、コンパイラは、かっこを解釈してキャスト演算子を表します。基本的に、このような宣言ではかっこは必要ではないので、使用しないでください。他のものと解釈されます。
EDIT:がコールバックパラメータの関数シグネチャと同様、いくつかの宣言でを必要とすることができる
かっこ。
'struct node'の'() 'は、これをデータ型宣言子ではなくキャスト演算子として扱うコンパイラに指示します。 – haccks
宣言は '('で始めることはできません。 – melpomene