我是新的C++(從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++是如何做到這一點,而不是一個解釋?
默認參數應該在頭文件中聲明,而不是在實現文件中聲明。 – 2012-07-05 14:15:05
你應該提供一個最小的自包含的編譯示例,每個人都可以嘗試自己看看你看到了什麼。 – PlasmaHH 2012-07-05 14:15:39
請完整編譯錯誤。 – inkooboo 2012-07-05 14:16:28