';'之前的预期类型说明符代币

时间:2013-12-17 01:00:48

标签: c++ class inheritance

我收到错误“'之前的预期类型说明符';'令牌“在下面标记的代码行中。是否要求指定(* this)的类型?为什么编译器不知道(* this)的类型?

struct P{
};

struct R : public P{
  virtual P* copy(){
    return new(R(*this));  //error here
  }
};

1 个答案:

答案 0 :(得分:6)

您需要说:return new R(*this);这是非展示位置new - 表达式的形式。没有额外的括号。