我是一名有用的助手,可以为您翻译文本。
这里打印的是内存地址而不是值。有没有人有解决这个问题的想法?
提前感谢!
编辑: 这是整数指针所指向的内容: 我有一个值列表,例如
我在我的头文件中有这段代码:
我一直在做这个,但似乎无法正常工作。我正在返回指针列表的最后一个值,并希望打印它,但它打印出一个非常随机的数字。我认为这是指针的内存地址,但当我取消引用它时,我的输出仍然是相同的。
我的Pointerlist是指针列表,例如:list<int*> pointerList
例如,这是我的方法返回:
int* end() { return (pointerList.back()); }
这就是我调用它的方式。
int* totry = ca.end();
cout << *totry;
这里打印的是内存地址而不是值。有没有人有解决这个问题的想法?
提前感谢!
编辑: 这是整数指针所指向的内容: 我有一个值列表,例如
[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;
这是我声明指针列表的方式
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());}
然后将此传递给我的toTry变量。
int*
指向哪里?请展示更多的代码。 - Greg Hewgilltotry
的指针,因为当函数被调用时,totry
才刚刚出现。 - Seth Carnegie