[英]Calling function without parameter, when default parameter is allready defined
我用C ++編寫已經很長時間了,我無法在網上找到問題的解決方案,因此這個問題:
我有一個類,我想用默認參數定義一個函數:Run(par =“default”)
class.h包含:
class Test { public : void Run(QString par="default");};
class.cpp包含:
void Test::Run(QString par="default") { ... };
我得到的問題是,當我嘗試調用此函數時,沒有參數(我想使用默認值),編譯器抱怨函數run()的不存在。
Test test;
test.Run()
7:錯誤:未定義引用`Test :: Run()'
我寧願不使用函數重載。
我試圖僅在.cpp中刪除默認值,但編譯器錯誤仍然存在。
我在這忘記了什么? 我正在使用GCC編譯QT。
如果聲明默認參數,則只在類聲明中設置它。 在定義中,您將其留空。
class Test { public : void Run(QString par="default");};
void Test::Run(QString par) { ... };
應該沒事
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.