簡體   English   中英

無法將 function 解析為任何重載實例

[英]Cannot resolve function to any overloaded instance

我已經研究了其他答案來解決這個問題,但沒有運氣。 所以,這是問題所在:

我有兩個功能

string vts(vector<int> ,/*default*/ bool = true,/*default*/ bool = true);
string vts(vector<string> ,/*default*/ bool = true);

在調試期間,似乎 GDB 無法解析vector<int>的兩個函數。

它拋出以下錯誤

(gdb) call vts(v)
Cannot resolve function vts to any overloaded instance

在哪里

v = std::vector<int> of length 5, capacity 5 = {1, 2, 3, 4, 5}

通過傳遞所有 arguments 的調用也失敗

Invokation
(gdb) call vts(v, false, false)

Output
Cannot resolve function vts to any overloaded instance

我試過打開和關閉過載分辨率但不起作用。 解決此問題的任何指示都會有所幫助嗎?

最終,我不得不使用完整的 function 簽名來完成調用。

 p 'vts(std::vector<int,std::allocator<int>>,bool,bool)'(v,0,0)

報告的行為看起來確實像是 gdb 中的錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM