亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Coordinate * const p=&coor;

// 創建常指針p?

?Coordinate * const p=&coor; ? ?

?p->printInfo();?

?index.cpp: In function 'int main()': index.cpp:29:24: error: invalid conversion from 'const Coordinate*' to 'Coordinate*' [-fpermissive] ? Coordinate * const p=&coor;?

?為什么?

正在回答

2 回答

Coordinate * const p 和 Coordinate const *p 是不一樣的。

Coordinate * const p 中的const 修飾指針,代表指針指向的地址是一個常量,地址不能改。

Coordinate const *p 中的const 修飾指針變量,代表指針指向的變量是個常量,變量不能改。(叫變量可能有點問題,const Coordinate *p 也是可以的。)

2 回復 有任何疑惑可以回復我~
#1

ernest2017 提問者

感謝您的回復 原理我都明白的只是這個題目里 不明白,不過我剛剛明白了。 因為 (3,5)題目一開始就幫我定義了 const,所以我必須用用 const *p去保證它不會被修改,如果我把題目的const對象(3,5)去了const 這個時候 我就運行正確了。 Coordinate coor(3, 5); // 創建常指針p Coordinate * const p=&coor;
2018-08-19 回復 有任何疑惑可以回復我~
#2

ernest2017 提問者

非常感謝!
2018-08-19 回復 有任何疑惑可以回復我~

你的 printinfo()后面加const了嗎

1 回復 有任何疑惑可以回復我~
#1

ernest2017 提問者

加了 感謝您的回復!
2018-08-19 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C++遠征之封裝篇(下)
  • 參與學習       70902    人
  • 解答問題       534    個

封裝--面向對象三大特征之一,通過案例讓C++所學知識融會貫通

進入課程

Coordinate * const p=&coor;

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號