【发布时间】:2019-03-29 09:28:48
【问题描述】:
所以我一直在尝试在另一个方法中使用我的类中某些方法的返回值,但我遇到了这个问题“无法解析标识符”
class Puncte{
public:
double mx;
double my;
Puncte(double x, double y) {
mx = x;
my = y;
}
double distanta (){
double r = sqrt(mx*mx + my*my);
return r;
}
double phi (){
double unghi = atan(my/mx) * 180.0 / PI;
if(unghi > 0 && mx < 0 && my < 0) unghi = unghi + 180;
if (unghi < 0 && mx>0 && my < 0) unghi = unghi + 360;
if (unghi < 0 && mx<0 && my > 0) unghi = unghi + 180;
return unghi;
}
virtual mprint(){
printf("r=%.3f; phi=%.3f\n",r,unghi) ; //unable to resolve identifier
}
};
有人可以帮忙吗? 谢谢:)
【问题讨论】:
-
printf("r=%.3f; phi=%.3f\n",distanta(),phi());你需要调用函数,而不是尝试访问那里的返回值。 -
另见"the Scope of (Local) Variables' - 第一个示例还展示了如何使用调用函数的返回值。