Visual studio 2012 错误:没有';n';重载可以转换所有参数类型
我得到了上面的错误,但据我所知,我已经完全匹配了我的参数列表 代码:Visual studio 2012 错误:没有';n';重载可以转换所有参数类型,visual-studio-2012,c++11,overloading,Visual Studio 2012,C++11,Overloading,我得到了上面的错误,但据我所知,我已经完全匹配了我的参数列表 代码: void-lorentzTransform(std::list&vol,const-vector2D&v){ std::list temp=std::list(); 用于(常数点2P1D&pt:vol){ point2P1D test=lorentzTransform(pt,v);//此处有错误。 温度推回(试验); } 体积交换(温度); } 点2p1d洛伦兹变换(常数点2p1d&pt,常数向量2d&vel); 要调用的重载
void-lorentzTransform(std::list&vol,const-vector2D&v){
std::list temp=std::list();
用于(常数点2P1D&pt:vol){
point2P1D test=lorentzTransform(pt,v);//此处有错误。
温度推回(试验);
}
体积交换(温度);
}
点2p1d洛伦兹变换(常数点2p1d&pt,常数向量2d&vel);
要调用的重载在调用点可能实际上不可见。您显示的原型必须置于其他函数之上
我也非常担心引用返回类型。我认为您很有可能返回一个悬空引用。原型在我的*.h文件中,包括在内,是的。我已经删除了引用。发布了确切的编译器错误。不幸的是,我似乎已经解决了问题,并且没有保存问题。我不确定我做了什么-我更改了洛伦兹变换使用的函数(constpoint2p1d&,constvector2d&)。
void lorentzTransform(std::list<point2P1D>& vol, const vector2D& v) {
std::list<point2P1D> temp = std::list<point2P1D>();
for (const point2P1D& pt : vol) {
point2P1D test = lorentzTransform(pt, v); //Error here.
temp.push_back(test);
}
vol.swap(temp);
}
point2P1D lorentzTransform(const point2P1D& pt, const vector2D& vel);