3
void g(int n, decltype(n) = 0); // ok
void f(int n, int = n); // error : default argument references parameter 'n'
int main()
{
f(1); // want it to be same as f(1, 1);
}
爲什麼C++不允許參數成爲默認參數?爲什麼C++不允許參數成爲默認參數?
原理是什麼?
我不知道,如果我得到這個錯誤,但** void f(int n,int = n); **有一個語法錯誤,此外,你不應該指定一個函數中的整數如果未初始化,則爲另一個整數。嘗試聲明一個全局變量int x = 1,然後將其分配爲默認參數。 – Weaboo
我重新打開了。這個副本沒有說明這個背後的原因。 – juanchopanza