類的對過載函式的呼叫不明確
今天犯了一個錯誤:
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語言最後翻譯函式的問題什麼的吧—— ——
相關文章
- Python 類,函式過載Python函式
- 避免對mod函式的呼叫函式
- 如何使用函式指標呼叫類中的函式和普通函式函式指標
- Nginx阻止對不明確主機名的請求Nginx
- 過載的奧義之函式過載函式
- 呼叫類庫函式的簡單加密(轉的)函式加密
- C++的函式的過載C++函式
- C++的函式過載C++函式
- 函式過載與函式模板的區別函式
- 父類與子類之間靜態函式的呼叫以及函式引數的傳遞函式
- C++:建構函式的分類和呼叫C++函式
- python中calss(類)的使用,類的教程,類中的函式怎麼呼叫。Python函式
- 類成員函式的重寫,過載和隱藏的區別函式
- javascript函式過載的實現JavaScript函式
- 函式棧幀(呼叫過程)函式
- 外部函式的呼叫函式
- Python透過函式名呼叫函式的幾種場景Python函式
- TypeScript 函式過載TypeScript函式
- JavaScript函式過載JavaScript函式
- C++ 派生類函式過載與虛擬函式繼承詳解C++函式繼承
- [轉載]論函式呼叫約定函式
- Oracle函式的確定性Oracle函式
- JS中函式內套函式的呼叫JS函式
- ASP中函式呼叫對引數的影響 (轉)函式
- 動態呼叫python類和函式Python函式
- 【圖文】函式呼叫過程中棧的變化函式
- 深入理解 C 語言的函式呼叫過程函式
- 深入理解C語言的函式呼叫過程C語言函式
- 透過例子學習Lua(4)--函式的呼叫(轉)函式
- Javascript的函式呼叫與thisJavaScript函式
- C++ 函式過載,函式模板和函式模板過載,選擇哪一個?C++函式
- js函式 函式自呼叫 返回函式的函式 (閉包)JS函式
- php中呼叫類的屬性和函式的方法->_=>_::_$this->區別PHP函式
- C++函式過載C++函式
- 02-函式過載函式
- _error-type_cout_不明確的符號Error符號
- php呼叫mysql儲存過程和函式的方法(轉)PHPMySql儲存過程函式
- 如何使用python super函式呼叫父類?Python函式