2
我得到錯誤「在'之前的預期類型說明符';'標記「在下面標記的一行代碼中。它是否要求指定(* this)的類型?爲什麼編譯器不知道(* this)的類型?';'之前的預期類型說明符令牌
struct P{
};
struct R : public P{
virtual P* copy(){
return new(R(*this)); //error here
}
};
我得到錯誤「在'之前的預期類型說明符';'標記「在下面標記的一行代碼中。它是否要求指定(* this)的類型?爲什麼編譯器不知道(* this)的類型?';'之前的預期類型說明符令牌
struct P{
};
struct R : public P{
virtual P* copy(){
return new(R(*this)); //error here
}
};
你需要說:return new R(*this);
這就是非配置new
-expression的形式。沒有額外的括號。