亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1091 | 回復(fù): 0
打印 上一主題 下一主題

[C++] integer_sequence用法的一個問題, 編譯錯誤 [復(fù)制鏈接]

論壇徽章:
2
2015年迎新春徽章
日期:2015-03-04 10:16:532015元宵節(jié)徽章
日期:2015-03-06 15:53:22
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2016-07-13 11:52 |只看該作者 |倒序瀏覽
找了一個網(wǎng)上的例子,我想要用一個模板來處理一個int序列,如果這個序列里面的值都小于某個數(shù),返回true,否則返回false,如下:

  1. #include<utility>
  2. #include<iostream>
  3. using namespace std;
  4. template <std::size_t N, std::size_t... Ix>
  5. bool in_range(std::index_sequence<Ix...>) {
  6.   return ((Ix < N) && ...);
  7. }
  8. int main()
  9. {
  10.     cout<<in_range<10>({1,2,30})<<endl;
  11.     cout<<in_range<10>(1,2,3)<<endl;
  12.     return 0;
  13. }
復(fù)制代碼
----------------------------
我用clang3.8來編譯,失敗了:

  1. $ clang++ m.cpp -std=c++1z
  2. m.cpp:5:37: error: template argument for template type parameter must be a type
  3. bool in_range(std::integer_sequence<Ix...>) {
  4.                                     ^~~~~
  5. /usr/bin/../lib/gcc/x86_64-linux-gnu/5.3.1/../../../../include/c++/5.3.1/utility:229:21: note:
  6.       template parameter is declared here
  7.   template<typename _Tp, _Tp... _Idx>
  8.                     ^
  9. m.cpp:10:11: error: no matching function for call to 'in_range'
  10.     cout<<in_range<10>({1,2,30})<<endl;
  11.           ^~~~~~~~~~~~
  12. m.cpp:11:11: error: no matching function for call to 'in_range'
  13.     cout<<in_range<10>(1,2,3)<<endl;
  14.           ^~~~~~~~~~~~
  15. 3 errors generated.
復(fù)制代碼
我的代碼究竟應(yīng)該怎么改才對呢,是我的fold expression用的不對嗎?
還請賜教
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP