Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/144.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 成员函数返回一个函数_C++_Pointers_Return_Public_Member - Fatal编程技术网

C++ 成员函数返回一个函数

C++ 成员函数返回一个函数,c++,pointers,return,public,member,C++,Pointers,Return,Public,Member,这是我的代码,但VisualStudio在返回指针行中给指针加下划线?我的代码怎么了 编辑:抱歉输入错误 a* b::find() const { a* pointr = head; return pointr; } 在函数的作用域中没有任何变量被声明为pointr,除非声明它,否则编译器怎么知道 pointr和pointer不相同,缺少e 假设这是一个打字错误, 您的函数返回一个指针,但在这种情况下,它指向的内容很重要。如果head是本地变量或没有动态内存分配的指针(指向本地对象

这是我的代码,但VisualStudio在返回指针行中给指针加下划线?我的代码怎么了

编辑:抱歉输入错误

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

  return pointr;

}
在函数的作用域中没有任何变量被声明为
pointr
,除非声明它,否则编译器怎么知道

pointr
pointer
不相同,缺少
e

假设这是一个打字错误,
您的函数返回一个指针,但在这种情况下,它指向的内容很重要。如果
head
是本地变量或没有动态内存分配的指针(指向本地对象),则您的指针
pointer
指向本地对象,该对象将在函数返回后被销毁,并将成为一个悬空指针

记住规则:

您不应返回指向函数局部变量的引用或指针。

返回的变量错误

返回指针


在你的代码中。它未在范围中定义。

解释您试图执行的操作,并显示更多代码。目前还不清楚。如果Als回答解决了你的问题,那么如果你告诉我们实际的错误信息VS给你,那就容易得多了。IDE有一个实际的警告信息吗?可能是他们愚蠢的拼写检查功能之一,因为C++中没有什么东西可以说你必须正确使用拼写单词,这是愚蠢的。当然,尽管有意义的标识符总是有利的。
a* pointer = head;

return pointr;