如果我想从成员函数返回一个指针,我首先认为语法应该如下所示:
char SecondClass:: *getName() {
return this->name;
}
但是我在Eclipse中收到一条错误消息,提示它无法解决“名称”字段。在这种情况下,它以某种方式变得隐藏了。
正确的解决方案是这样
char *SecondClass:: getName() {
return this->name;
}
那是在类名之前加上*而不是函数名。
所以我的问题是:为什么第一个函数不起作用?从成员函数返回指针的这些实现之间有什么区别?
最佳答案
这与指针无关。该方法称为SecondClass::getName()
,它返回一个char *。所以你可以写
char* SecondClass::getName()
要么
char *SecondClass::getName()
但是您不能在类名和方法名之间加上*。