[問題] 指標無法用 *pi = &ival2 的方式賦值
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
None
問題(Question):
int ival = 1024, ival2 = 2048;
int *pi = &ival, *pi2 = &ival2;
*pi = &ival2;
為什麼宣告可以這樣寫,但第三行卻不行呢?
錯誤結果(Wrong Output):
error C2440: '=' : cannot convert from 'int *' to 'int'
程式碼(Code):(請善用置底文網頁, 記得排版)
補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.246.22.161
→
05/12 18:48, , 1F
05/12 18:48, 1F
→
05/12 18:48, , 2F
05/12 18:48, 2F
謝謝樓上倆位解答,我知道要 *pi = ival2 或 pi = &ival2 才會過
,但我還是不懂為什麼宣告可以這樣寫卻不會錯
※ 編輯: memory6610 來自: 111.246.22.161 (05/12 18:59)
→
05/12 19:14, , 3F
05/12 19:14, 3F
→
05/12 19:15, , 4F
05/12 19:15, 4F
→
05/12 19:27, , 5F
05/12 19:27, 5F
→
05/12 19:28, , 6F
05/12 19:28, 6F
→
05/12 20:10, , 7F
05/12 20:10, 7F
→
05/13 18:37, , 8F
05/13 18:37, 8F
→
05/13 18:38, , 9F
05/13 18:38, 9F
→
05/14 12:21, , 10F
05/14 12:21, 10F
看了樓上的解答大概了解我的問題了
但有人知道語法為什麼這樣規定嗎? 有相關的書可以看嗎?
※ 編輯: memory6610 來自: 111.246.6.180 (05/14 14:02)
→
05/15 02:36, , 11F
05/15 02:36, 11F
→
05/15 02:37, , 12F
05/15 02:37, 12F
→
05/15 04:18, , 13F
05/15 04:18, 13F
→
05/15 04:19, , 14F
05/15 04:19, 14F
→
05/15 04:22, , 15F
05/15 04:22, 15F
→
05/15 04:23, , 16F
05/15 04:23, 16F
→
05/15 04:24, , 17F
05/15 04:24, 17F
→
05/15 04:25, , 18F
05/15 04:25, 18F