2016-03-25 92 views
0

typedef structへのポインタへのポインタを関数に渡しています。エラー:構造体または共用体ではないメンバー 'a'の要求

request for member 'a' in something not a structure or union }

コード:

typedef struct _tempStruct 
{ 
    int a; 
    int b; 
}TempStruct; 

void _function(TempStruct ** param) 
{ 
    TempStruct *temp = *param; 
    temp -> a = 5; //no error 
    *param -> a = 6; //error: request for member 'a' in something not a structure or union 
} 

Here is the link of code on ideone私はtypedef structの内容を変更しようとすると、それは私に、次のエラーが発生します。

私には何が欠けていますか?

+3

'(* param) - > a'おそらく – Shark

答えて

4

->ので

*param -> a = 6; 

(*param)->a = 6; 
4

であるべきである矢印->オペレータがより緊密*がよりも特異的に結合する、*(間接)よりも高い優先順位を有しています。あなたが必要とする:

(*param)->a = 6; 

->または.の周りにスペースを入れないでください。彼らは非常にしっかりと縛る。スペースは新生児としてあなたをマークします。

関連する問題