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

 char SecondClass:: *getName() {
   return this->name;
 }

但是我在Eclipse中收到一条错误消息,提示它无法解决“名称”字段。在这种情况下,它以某种方式变得隐藏了。

正确的解决方案是这样
 char *SecondClass:: getName() {
   return this->name;
 }

那是在类名之前加上*而不是函数名。

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

最佳答案

这与指针无关。该方法称为SecondClass::getName(),它返回一个char *。所以你可以写

char* SecondClass::getName()

要么
char *SecondClass::getName()

但是您不能在类名和方法名之间加上*。

10-04 14:39