【发布时间】:2012-07-05 23:08:16
【问题描述】:
我是 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++ 是如何做到这一点的吗?
【问题讨论】:
-
默认参数应该在头文件中声明,而不是在实现文件中。
-
你应该提供一个最小的自包含编译示例,每个人都可以自己尝试看看你看到了什么。
-
请发布完整的编译错误。
标签: c++ parameters default-value