第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

為什么ADL沒(méi)有找到功能模板?

為什么ADL沒(méi)有找到功能模板?

C++
慕標(biāo)琳琳 2019-08-27 16:31:22
為什么ADL沒(méi)有找到功能模板?C ++規(guī)范的哪一部分限制參數(shù)依賴查找在相關(guān)命名空間集合中查找函數(shù)模板?換句話說(shuō),為什么main下面的最后一次調(diào)用無(wú)法編譯?namespace ns {    struct foo {};    template<int i> void frob(foo const&) {}    void non_template(foo const&) {}}int main() {    ns::foo f;    non_template(f); // This is fine.    frob<0>(f); // This is not.}
查看完整描述

3 回答

?
慕的地10843

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超8個(gè)贊

這部分解釋了它:

C ++標(biāo)準(zhǔn)03 14.8.1.6

[注意:對(duì)于簡(jiǎn)單的函數(shù)名稱,即使函數(shù)名稱在調(diào)用范圍內(nèi)不可見(jiàn),依賴于參數(shù)的查找(3.4.2)也適用。這是因?yàn)檎{(diào)用仍然具有函數(shù)調(diào)用的語(yǔ)法形式(3.4.1)。但是當(dāng)使用帶有顯式模板參數(shù)的函數(shù)模板時(shí),除非在調(diào)用點(diǎn)處有一個(gè)具有該名稱的函數(shù)模板,否則調(diào)用沒(méi)有正確的語(yǔ)法形式。如果看不到這樣的名稱,則調(diào)用語(yǔ)法不完善,并且參數(shù)依賴查找不適用。如果某些此類名稱可見(jiàn),則應(yīng)用依賴于參數(shù)的查找,并且可以在其他名稱空間中找到其他函數(shù)模板。

namespace A {
  struct B { };
  template<int X> void f(B);}namespace C {
  template<class T> void f(T t);}void g(A::B b) {
  f<3>(b);    //ill-formed: not a function call
  A::f<3>(b); //well-formed
  C::f<3>(b); //ill-formed; argument dependent lookup
              // applies only to unqualified names
  using C::f;
  f<3>(b);    //well-formed because C::f is visible; then
              // A::f is found by argument dependent lookup}


查看完整回答
反對(duì) 回復(fù) 2019-08-27
?
慕尼黑8549860

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個(gè)贊

從c ++ 20開(kāi)始,adl與顯式函數(shù)模板一起工作也很好。以下是提議: P0846R0:不可見(jiàn)的ADL和功能模板:

不要求用戶使用template關(guān)鍵字,而是建議對(duì)查找規(guī)則進(jìn)行修訂,以便正常查找產(chǎn)生無(wú)結(jié)果或找到一個(gè)或多個(gè)函數(shù)且后面跟aa“<”的名稱將被視為如果找到了函數(shù)模板名稱并且將導(dǎo)致執(zhí)行ADL。

目前,只有GCC 9實(shí)現(xiàn)了此功能,因此您的示例可以編譯。

live demo。


查看完整回答
反對(duì) 回復(fù) 2019-08-27
  • 3 回答
  • 0 關(guān)注
  • 369 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)