類的對過載函式的呼叫不明確
今天犯了一個錯誤:
HMenu(QWidget* _parent=0);
HMenu(QString _txt = " ", QWidget* _parent=0);
提示說:錯誤 1 error C2668: “HMenu::HMenu”: 對過載函式的呼叫不明確 f:\workspace\myclasslibraries\hgui\hgui\src\HMenu.h
在網上搜都是說由於int 或 float 等的隱式轉換導致的,那麼我就用在這個兩個建構函式前加個explicit 唄,還是不行。
最後終於知道問題了,
HMenu(QWidget* _parent=0); 跟HMenu(),對於編譯器來說是一個樣的,所以編譯器不知呼叫哪個函式,
而HMenu(QWidget* _parent=0); 與 HMenu(QString _txt = “ ”, QWidget* _parent=0); 也是同樣道理,
所以在QString _txt = " ",把預設引數(=" ")去掉了,就OK了。
當這兩個建構函式在APP上還沒有報錯,但我想封裝成一些控制元件到DLL裡,就出現這個問題了,估計是C語言最後翻譯函式的問題什麼的吧—— ——
相關文章
- Lua中呼叫ref和out修飾引數的函式/過載函式函式
- 如何使用函式指標呼叫類中的函式和普通函式函式指標
- 類的解構函式自動呼叫函式
- 過載的奧義之函式過載函式
- python中calss(類)的使用,類的教程,類中的函式怎麼呼叫。Python函式
- C++:建構函式的分類和呼叫C++函式
- Python透過函式名呼叫函式的幾種場景Python函式
- 外部函式的呼叫函式
- 函式棧幀(呼叫過程)函式
- C++ 派生類函式過載與虛擬函式繼承詳解C++函式繼承
- JavaScript中的函式過載(Function overloading)JavaScript函式Function
- 118 C++中函式的過載C++函式
- TypeScript 函式過載TypeScript函式
- 函式模板過載函式
- 【圖文】函式呼叫過程中棧的變化函式
- 如何使用python super函式呼叫父類?Python函式
- C++ 函式過載,函式模板和函式模板過載,選擇哪一個?C++函式
- _error-type_cout_不明確的符號Error符號
- 關於python建構函式的過載Python函式
- Python 函式如何過載?Python函式
- 02-函式過載函式
- C++函式過載C++函式
- 函式呼叫棧的問題函式
- 虛擬函式的呼叫原理函式
- lambda匿名函式sorted排序函式filter過濾函式map對映函式函式排序Filter
- 類的建構函式和解構函式函式
- C++ 獲取指定的過載函式地址C++函式
- C++ 過載運算子和過載函式C++函式
- 程式碼 or 指令,淺析ARM架構下的函式的呼叫過程架構函式
- .Net7 CLR的呼叫函式和編譯函式函式編譯
- 3.3.2 函式的預設引數和佔位引數 函式過載函式
- 建構函式之間的呼叫函式
- 函式的呼叫方式和引數函式
- JS的五種函式呼叫方式JS函式
- C++中函式呼叫的用法C++函式
- Python 引用不確定的函式Python函式
- js實現函式過載JS函式
- C++之函式過載C++函式
- 基本方法的呼叫與過載