1
我得到'沒有匹配的函數調用'錯誤,我無法弄清楚如何擺脫,它似乎與我的子類不是承認爲超級類別。我有一個子類立方的超幾何,聲明如下:'沒有匹配的函數調用'的子類/超類
class Cube : public Geometry {
//code
Intersection intersect(const Ray& ray_in, bool& intersected) const;
};
和多維數據集必須返回一個路口的方法:
Intersection Cube::intersect(const Ray& ray_in, bool& intersected) const {
// code
return Intersection(point, normal, t_near, this); //point and normal are vec4, t_near is double
}
我有一個路口的構造:
Intersection(const glm::vec4& _point, const glm::vec4& _normal, Geometry* _geometry, const double _t);
但是當我嘗試編譯時,我的Cube :: intersect方法中的返回行給出錯誤:
no matching function for call to 'Intersection::Intersection(glm::vec4&, glm::vec4&, float&, const Cube*)'
return Intersection(point, normal, t_near, this);
^
爲什麼它不能識別Cube是Geometry的子類並嘗試調用正確的Intersection構造函數?
是啊數字我沒有檢查我在通過我的論點之前,假設它與類繼承有關...命令 –