在C++中是否有可以相互重載的最大數量的函數?函數重載的最大數量?
我越來越困惑「沒有匹配的功能」錯誤。我有一個超載的encode
函數,其中包含我編碼的每個結構/值類型(包括數組/矢量模板)的約900個不同版本。編碼函數根據哪些字段需要編碼來相互調用。
如果我將encode(std::string)
函數放在文件底部(.h & .cpp),則對其的調用返回「無匹配函數」。如果它靠近頂部,那麼它們不會。
發生了什麼事情,更重要的是,我該如何解決這個問題?
(linux的gcc版本4.6.1)
900重載?! – ronag 2012-01-12 21:25:11
你有900重載?????? ?? ?????我會先適當地分組重載,通常大多數編譯器都支持一個版本選項...閱讀你的編譯器手冊.. – Nim 2012-01-12 21:25:13
爲什麼你認爲900重載是很多? '流運算符<<(stream,smtn_other)'的重載是什麼? – Lol4t0 2012-01-12 21:30:05