我有一个名为 Point 的以下类,该类还包含一个名为 PointFactory 的内部类。 Point类内部有一个内部类 PointFactory 的静态实例,内部实例为 Factory 。
class Point{
private:
float x, y;
Point(float a, float b){
x = a;
y = b;
}
public:
struct PointFactory{
PointFactory(){}
Point newCartesian(float x, float y){
return {x, y};
}
Point newPolar(float rho, float theta){
return {rho*cos(theta), rho*sin(theta)};
}
};
static PointFactory Factory();
};
我正在尝试从静态实例 Factory 中访问方法 newCartesian 和 newPolar ,如下所示:
Point point = Point::Factory.newCartesian(10, 20);
Point point2 = Point::Factory.newPolar(100, 200);
但是,我收到2条错误消息,指出无法解析方法 newCartesian 和 newPolar 。我知道静态变量需要初始化,并且我相信我已经做到了。
我想知道上述错误的原因。