指針的聲明與初始化問題

pair<string,string> w,y;//定義w,y爲pair類型
w=make_pair("ruiju","123456789");//爲w,y初始化
y=make_pair("xiaoxiao","234567889");
pair<string,string>  *p=0;//聲明將指向pair類型的指針並懸垂
pair<string,string>  *q=0;
*p=w;
*q=y;
example.set_wait_list(p);//將指針pushback到vector中
example.set_wait_list(q);

出現的錯誤如下圖:


     即使懸垂時將指針賦值爲NULL,仍然無法去除錯誤,將代碼改成如下形式後,運行成功:

pair<string,string> w,y;
w=make_pair("ruiju","123456789");
y=make_pair("xiaoxiao","234567889");
pair<string,string>  *p=&w;
pair<string,string>  *q=&y;
example.set_wait_list(p);
example.set_wait_list(q);

   雖然,原因並不知道,但是,以後儘量避免指針懸垂。

PS:好久沒敲代碼了,明顯感覺生疏了,希望儘快看完C++Primer!!!

     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章