2015-06-21 130 views
-3

是否有任何方法在C++中使用「cin」作爲指向INT的指針? 我的意思是C++指向INT錯誤的指針?

#include <iostream.h> 
using namespace std; 
int main() 
{ 
int *n = new int; 
cout << "Insert n: "; 
cin >> n; 
cout << n; 
return 0; 
} 

編譯器說敵不過運算符 「>>」

謝謝。 :)

+0

讓用戶提供指針值意味着什麼? –

+0

呃...例如改變它指向的內存值。我只是無法弄清楚如何使用INT。 – Mihai

+0

@Mihai _「有什麼方法可以使用'cin' ...」是的,取消引用指針:'cin >> * n;'。 –

回答

2

不,您不能從使用cin的用戶輸入讀取指針。正如你的編譯器所說,這種操作沒有超載。 cin >> *n

但是,如果你的目的是要讀取int,並指定由n指向的內存的值,可以改爲通過取消引用指針傳遞給cin操作的參考。

+0

謝謝,謝謝:)。你剛剛救了我的一天。但是,我如何覆蓋受保護的內存? – Mihai

+0

@Mhaihai你不應該覆蓋受保護的內存。它受到保護是有原因的。無論如何,你的操作系統可能不會讓你這樣做。這似乎是一個單獨的問題,所以你應該爲它創建一個新的帖子。 – user2079303