![](/img/trans.png)
[英]How should members of volatile class objects handle pointer and array members?
[英]How to accept only callable objects in templates except pointer to data members?
我想創建一個模板化的 function,它接受並調用一個可調用對象(指向數據成員的指針除外),並將 arguments 傳遞給它。 我希望模板只接受以下類型:-
像這樣...
template< class Function, class... Args >
explicit X( Function&& f, Args&&... args );
但是第一個參數是接受任何類型,我想創建一些驗證,以便它只接受可調用對象並在它無效時拋出錯誤(最好在編譯時)。
有一個 C++20 概念就是為了這個目的:
template<class Function, class... Args>
requires std::invocable<Function, Args...>
void X(Function&& f, Args&&... args);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.