成员函数返回一个函数

时间:2012-01-31 11:46:11

标签: c++ pointers return public member

a* b::find() const
{
  a* pointr = head;

  return pointr;

}

这是我的代码,但visual studio是返回指针行中的底层指针?我的代码出了什么问题?

编辑:SORRY TYPO

2 个答案:

答案 0 :(得分:3)

a* pointer = head;

return pointr;   

你没有在函数范围内声明为pointr的任何变量,除非你声明它,编译器将如何知道?

pointrpointer不相同,缺少e

假设这是一个错字,
你的函数返回一个指针,但在这种情况下它指向的是重要的。如果head是没有动态内存分配的局部变量或指针(指向本地对象),那么指针pointer指向一个本地对象,一旦函数返回就会被销毁,并且将是一个悬空指针。

记住规则:
您不应该返回指向函数本地变量的引用或指针。

答案 1 :(得分:1)

您返回了错误的变量

  

return pointr;

你的代码中的

。它没有在范围内定义。