a* b::find() const
{
a* pointr = head;
return pointr;
}
这是我的代码,但visual studio是返回指针行中的底层指针?我的代码出了什么问题?
编辑:SORRY TYPO
答案 0 :(得分:3)
a* pointer = head;
return pointr;
你没有在函数范围内声明为pointr
的任何变量,除非你声明它,编译器将如何知道?
pointr
和pointer
不相同,缺少e
。
假设这是一个错字,
你的函数返回一个指针,但在这种情况下它指向的是重要的。如果head
是没有动态内存分配的局部变量或指针(指向本地对象),那么指针pointer
指向一个本地对象,一旦函数返回就会被销毁,并且将是一个悬空指针。
记住规则:
您不应该返回指向函数本地变量的引用或指针。
答案 1 :(得分:1)
您返回了错误的变量
你的代码中的return pointr;
。它没有在范围内定义。