[英]C++ Using default values for parameters
我是C ++的新手(来自C#背景),并且具有以下签名的功能
void AddBenchNode(ref_ptr<Group> root ,ref_ptr<Node> benches, bool setAttitude = false, float scale_x =.15, float scale_y =15, float scale_z = 15, int positionx = 250, int positiony = 100, int positionz =0 )
{
}
但是,当我尝试按以下方式调用代码时,出现一个错误,提示函数未使用4个参数。
//then I try to call my function like so
AddBenchNode(root, benches, false, 250);
但我却收到以下错误消息
错误C2660:“ AddBenchNode”:函数没有3个参数
希望能得到有关C ++如何做到这一点的解释吗?
在.hpp文件中检查原型。 它可能被声明为
void AddBenchNode(ref_ptr<Group> root ,ref_ptr<Node> benches, bool setAttitude,
float scale_x, float scale_y, float scale_z, int positionx,
int positiony, int positionz);
编辑:标头中的原型应该是
void AddBenchNode(ref_ptr<Group> root ,ref_ptr<Node> benches, bool setAttitude = false, float scale_x =.15, float scale_y =15, float scale_z = 15, int positionx = 250, int positiony = 100, int positionz =0 );
然后您的cpp文件应该只有
void AddBenchNode(ref_ptr<Group> root ,ref_ptr<Node> benches, bool setAttitude, float scale_x, float scale_y, float scale_z, int positionx, int positiony, int positionz)
{
}
也就是说,默认参数在原型中,而不在实际定义中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.