我一直在努力,我似乎無法得到這個正常工作。我返回一個指針列表的最後一個值,我想打印它,但它打印的是非常隨機的數字。我假設這是指針的內存地址,但是當我解引用它時,我的輸出仍然執行相同的操作。打印一個int指針的值
我Pointerlist是指針的列表,如:list<int*> pointerList
例如,這是我的方法返回:
int* end() { return (pointerList.back()); }
的,這是我怎麼叫它。
int* totry = ca.end();
cout << *totry;
這是打印存儲器地址而不是值。有沒有人有任何想法如何解決這個問題?
在此先感謝!
編輯: 這裏是INT指針指向的內容: 我爲[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
值這樣的列表,我有一個指向該列表類似下面的不同部分的指針列表:
[0,4,8,12]
我的代碼:int* end() { return (pointerList.back()); }
在我的頭文件,並在我的.cpp文件中調用:
INT * totry = ca.end(); cout < < * totry;
這是我聲明我pointerlist
class ptrList
{
public:
std::list<value_type> listOfValues;
std::list<*int> pointerlist;
我填我的表指針的「添加」功能裏面,我不喜歡這樣寫道:
int lstsqrt = 4;
for (int a = 1; a < lstsqrt; a++)
{
int endptr = a + (int)lstsqrt;
pointerlist.push_back((&*listOfValues.begin() + endptr)); //((lstsqrt - 1) + a) );
}
這是我的end()方法
int* end() {return (pointerlist.back());}
的d然後傳遞給我的toTry變量。
列表中的int *指向什麼?請給我們更多的代碼。 – 2012-02-11 03:15:08
我們如何可以知道這個問題的答案? – 2012-02-11 03:17:04
@Greg Hewgill對不起,我添加了一些代碼來顯示int指針指向什麼 – SSS 2012-02-11 03:19:38