cost 429 ms
如何使用模板 function 進行隱式轉換

[英]How to use template function for implicit conversion

非常簡化的示例(不要介意 class A和操作員在做什么,這只是示例): 這行得通。 但是,如果我用模板替換兩個operator== (具有相同的主體): ,其編譯產生錯誤: 可以在這里使用模板嗎? 能不能用C++17自定義模板推導指南? 還是別的什么? ...

對可變參數模板和模板類型推導的誤解

[英]Misunderstanding variadic templates and template type deduction

我正在使用類似於此示例的代碼使用 C++17 進行編譯: } 我發現當我將Args...應用於ostream_type和ostreambuf_iterator_type的模板參數列表時,模板類型推導失敗,但如果我從ostream_type分配char_type和traits_type就可以了。 為 ...

模板扣除指南中的附加類型

[英]Additional type in template deduction guide

此片段演示如何使用推導指南來允許source_location::current與參數包一起使用(請參閱https://stackoverflow.com/a/57548488/1421332 ): 這是這樣使用的: 現在我想通過一個額外的類型 T 來擴展 struct Test ,它應該明確指定。 ...

如何讓 function 接受指定類型?

[英]How to allow a function to take in specified types?

所以我希望我的 function 接受模板化參數,如下所示: 我只希望foo接受我指定的所有這些類型。 假設我有類似Image<cam1> , Image<cam2> , Other<cam1> --> 如果我只希望Image<cam1>和Im ...

矩陣的演繹指南

[英]deduction guides for matrix

我正在尋找初始化矩陣的演繹指南。 我已經嘗試使用pack in pack和sizeof... , initializer_list<initializer_list<T>> ,構造數組的自定義類,但沒有任何工作...... 所以,我正在尋找初始化 喜歡 ...

模板化參數中的仿函數的默認參數

[英]Default argument for a functor in a templated parameter

我想在我的函數中為一個functor參數設置一個默認的lambda。 我知道可以像這樣使用struct和operator() : 但是我想知道是否有一種現代的方式,考慮到c ++ 14/17/20標准的變化,使這項工作? 我不確定將用作Functor的默認類型,或者是否存在 ...

g ++和clang ++不同的行為推導可變參數模板`auto`值

[英]g++ and clang++ different behaviour deducing variadic template `auto` values

另一個“g ++和clang ++之間誰是正確的?” 這次我確信這是一個g ++錯誤,但我要求標准專家確認。 給出以下代碼 現場演示 clang ++(8.0.0,通過示例)編譯和鏈接沒有問題g ++(9.2.0,通過示例)給出以下錯誤編譯第二個foo() (但不是第一 ...

類數據成員指針的非類型模板參數包無法用gcc編譯

[英]Non-type template parameter pack for class data member pointer can't compile with gcc

我嘗試用c ++ 17 auto 非類型模板參數包編寫代碼用於類數據成員指針,但是下面的代碼clang將編譯而gcc不會, 你可以看到godbolt的錯誤信息 ,有人可以告訴我哪一個我應該相信,因為我無法弄清楚為什么gcc拒絕這一點。 謝謝你的幫助。 我知道如果將<auto ...

獲取函數參數類型作為元組

[英]Get function arguments type as tuple

問題 給定任何函數(或可調用)類型Function ,如何將其所有參數類型作為元組類型? 例如,我需要一個特征function_traits<Function>::arguments ,其中: 我的想法 第一 我需要獲得參數的大小,幸運的是boo ...

如何在不指定模板參數的情況下將lambda與模板參數匹配

[英]How to match lambda to template parameter without specifying template params

我正在編寫消息接收庫,並希望編寫一個簡單的lambda以便在給定端點上接收到消息時調用。 當我嘗試一個簡單的lambda時,它與std::function模板不匹配,因為lambda不是確切的類型,這很有意義。 所需的語法給了我 對於我來說,是否需要額外的管道或使管道正常工 ...

帶有繼承的C ++檢測習慣用法失敗

[英]C++ detection idiom failure with inheritance

以下代碼無法編譯。 由於某種原因,從HasFoo繼承會導致IsWrapper失敗。 它與friend函數foo()因為從其他類繼承似乎可以正常工作。 我不明白為什么從HasFoo繼承會導致檢測慣用法失敗。 將WithFoo檢測為Wrapper程序的正確方法是什么? https: ...

具有模板參數的std :: function

[英]std::function with templated arguments

我想編寫一個模板化函數,將一些函數應用於來自兩個向量的成對元素。 結果應該是結果的新載體。 我希望這是一個模板化函數,以便它可用於不同類型。 我之前嘗試過定義。 但是,當我嘗試將其應用於某些特定功能時,出現編譯錯誤。 這里的類型推導有什么問題? ...

當`std :: make_index_sequence`和`std :: index_sequence`用於模板參數默認類型時,g ++和clang ++的行為不同

[英]g++ and clang++ different behaviour when `std::make_index_sequence` and `std::index_sequence` are used for a template parameter default type

另一個“誰在g ++和clang ++之間合適?” C ++標准專家的問題。 給出以下代碼 我看到g ++編譯在clang ++給出以下錯誤的地方 像往常一樣,問題是:誰是對的? g ++還是clang ++? -編輯-正如HolyBlackCat指出的(謝謝!) ...


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