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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C ++模板構(gòu)造函數(shù)

C ++模板構(gòu)造函數(shù)

C++
湖上湖 2019-12-11 15:09:10
我希望有一個帶有模板構(gòu)造函數(shù)且沒有參數(shù)的非模板類。據(jù)我了解,這是不可能的(因為它會與默認(rèn)構(gòu)造函數(shù)發(fā)生沖突- 是嗎?),解決方法如下:class A{   template <typename U> A(U* dummy) {   // Do something   }};也許對此有更好的選擇(或更好的解決方法)?
查看完整描述

3 回答

?
慕婉清6462132

TA貢獻(xiàn)1804條經(jīng)驗 獲得超2個贊

在調(diào)用構(gòu)造函數(shù)模板時,無法顯式指定模板參數(shù),因此必須通過參數(shù)推導(dǎo)來推導(dǎo)它們。這是因為如果您說:


Foo<int> f = Foo<int>();

的<int>是該類型的模板參數(shù)列表Foo,而不是它的構(gòu)造函數(shù)。構(gòu)造函數(shù)模板的參數(shù)列表無處可去。


即使有解決方法,您仍然必須傳遞參數(shù)才能調(diào)用該構(gòu)造函數(shù)模板。尚不清楚您要實現(xiàn)的目標(biāo)。



查看完整回答
反對 回復(fù) 2019-12-12
?
慕田峪9158850

TA貢獻(xiàn)1794條經(jīng)驗 獲得超7個贊

您可以創(chuàng)建模板化工廠函數(shù):


class Foo

{

public:

    template <class T> static Foo* create() // could also return by value, or a smart pointer

    {

        return new Foo(...);

    }

...        

};



查看完整回答
反對 回復(fù) 2019-12-12
  • 3 回答
  • 0 關(guān)注
  • 443 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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