2016-11-22 77 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

請編寫你的編碼很好。 –

+0

嘗試'(* node1) - > prev_'。 – songyuanyao

回答

0
if(*node1->prev_) 

->*更高的運算符優先級。上面的語句等同於:

if (*(node1->prev_)) 

由於node1沒有指向一個結構,這樣的類成員,這就是你得到這個編譯錯誤的原因。這應該更改爲:

if((*node1)->prev_) 

其餘顯示的代碼中需要相同的修復程序。例如:

node1->prev_->next_ = node2; 

這大概應該是:

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

它的工作非常感謝。 –

相關問題