首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使我的序列在Swift中与BinaryInteger作为其upperBound一起工作?

如何使我的序列在Swift中与BinaryInteger作为其upperBound一起工作?
EN

Stack Overflow用户
提问于 2021-07-10 12:00:33
回答 1查看 50关注 0票数 0

我有一个函数,用于upperBound of closedRange作为一个符合BinaryIntegerfor循环,就像我在代码中看到的那样,我只是尽可能地把所有的事情都做好了,但是xCode犯了这个错误,我不知道如何解决它!

错误:

代码语言:javascript
复制
Protocol 'Sequence' requires that 'V.Stride' conform to 'SignedInteger'

my函数:

代码语言:javascript
复制
func test<V: BinaryInteger>(value: V) {
    
    if (value >= 0) {
 
        for index in 0...value {
            
            print(index)
            
        }
        
    }
 
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-10 12:21:41

您必须明确地告诉斯威夫特,泛型V表示的“值”可以在for in循环中使用。

代码语言:javascript
复制
 func test<V: BinaryInteger>(value: V) where V.Stride:SignedInteger  {
    
    if (value >= 0) {
        for index in 0...value {
            print(index)
        }
    }
 
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68327503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档