2016-11-22 6 views
-2

私はこのエラーの検索でした:エラー:何かのメンバーのリクエスト「prev_」ではない構造体または共用

error: request for member ‘prev_’ in something not a structure or union

を、すべての提案が->を使用していたが、私の場合には、私はすでに->を使用しています。

struct student_record_node 
{ 

     struct student_record* record_; 
     struct student_record_node* next_; 
     struct student_record_node* prev_;   
}; 

void swap(struct student_record_node** node1, struct student_record_node** node2) 

{ 

struct student_recod_node* prev_; 
struct student_recod_node* next_; 

      if(*node1->prev_) 
      { 
        node1->prev_->next_ = node2; 
      } 

      if(*node2->prev_) 
      { 
        node2->prev_->next_ = node1; 
     } 
} 
+0

ください

node1->prev_->next_ = node2; 

これはおそらくする必要があります。 –

+0

'(* node1) - > prev_'を試してください。 – songyuanyao

答えて

0
if(*node1->prev_) 

->*より高い演算子の優先順位を持っています

は、ここに私のコードです。 node1は、それはあなたがこのコンパイルエラーを取得している理由です、そのようなクラスのメンバーとの構造を指していないので

if (*(node1->prev_)) 

:上記のステートメントは同等です。これを次のように変更する必要があります。

if((*node1)->prev_) 

以下のコードでは、同じ修正が必要です。たとえば:あなたはきれいにコーディングコーディング

(*node1)->prev_->next_ = *node2; 
+0

ありがとうございました。 –

関連する問題