function: name: make_shape return: Shape* parameters: const string &shape_name; const vector &data
该课程为ShapeFactory
。这就是我对这个函数定义所拥有的:
ShapeFactory::Shape* make_shape(const string &shape_name, const vector<double>&data)
我收到错误消息:
&#34; ShapeFactory.cpp:17:15:错误:'class ShapeFactory'中的'Shape'没有命名类型&#34;
我知道Shape*
不是返回类型,但我不知道如何声明指针。有什么建议?
答案 0 :(得分:2)
您编写了ShapeFactory::Shape* make_shape
,编译器认为这是ShapeFactory
中名为Shape*
的函数的实现。您需要在此之前使用返回类型,::
之后的位是函数 name 。所以,正确的代码是:
Shape* ShapeFactory::make_shape(const string
&shape_name, const vector<double>&data)