c ++返回类型指针声明

时间:2017-12-04 20:48:39

标签: c++ pointers return-type

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*不是返回类型,但我不知道如何声明指针。有什么建议?

1 个答案:

答案 0 :(得分:2)

您编写了ShapeFactory::Shape* make_shape,编译器认为这是ShapeFactory中名为Shape*的函数的实现。您需要在此之前使用返回类型,::之后的位是函数 name 。所以,正确的代码是:

 Shape* ShapeFactory::make_shape(const string 
 &shape_name, const vector<double>&data)