从成员函数c ++返回指针

use*_*252 2 c++ pointers function

如果我想从成员函数返回一个指针我首先认为语法应如下所示:

 char SecondClass:: *getName() {
   return this->name;
 } 
Run Code Online (Sandbox Code Playgroud)

但是我在Eclipse中收到一条错误消息,它无法解决字段"name".在某种程度上它会隐藏在这种情况下.

这是正确的解决方案

 char *SecondClass:: getName() {
   return this->name;
 }
Run Code Online (Sandbox Code Playgroud)

那就是在classname之前加上*而不是function-name.

所以我的问题是:为什么第一个函数不起作用,这些从成员函数返回指针的实现之间有什么区别?

Gei*_*ier 7

这与指针无关.调用该方法SecondClass::getName()并返回char*.所以你可以写

char* SecondClass::getName()
Run Code Online (Sandbox Code Playgroud)

要么

char *SecondClass::getName()
Run Code Online (Sandbox Code Playgroud)

但是你不能把*放在类名和方法名之间.