[英]How does std::begin deduce a type for braced-init-list?
以下代碼失敗:
template <typename T>
void func(T& t)
{
}
int main()
{
func({1, 2, 3});
}
但是使用auto a = {1, 2, 3};
它的工作原理是因為規則允許auto
推導出std::initializer_list
。 如何編寫std::begin
以允許std::begin({1, 2, 3})
工作?
std::begin({1, 2, 3})
有效,因為std::begin
有一個帶有std::initializer_list
的重載 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.