草庐IT

pointer-arithmetic

全部标签

windows - 什么时候返回 E_POINTER 什么时候返回 E_INVALIDARG?

COM接口(interface)方法可以返回各种HRESULT值来表示传递的参数值无效。我什么时候返回E_POINTER什么时候返回E_INVALIDARG?据我所知,如果一个方法在封装的集合中接收到一个索引并且它超出了范围,那就是E_INVALIDARG。如果一个方法接收到一个Interface**指针,它意味着存储一个指向新创建的对象的指针,该对象是E_POINTER。HRESULTCImpl::GetItem(longindex;Interface**result){if(result==0){returnE_POINTER;}if(index=internalArray.siz

ios - 错误 : Indexing expression is invalid because subscript type 'NSUInteger' is not an integral or objective c pointer type

我有一个名为“rankStrings”的数组,我试图从它的索引处获取数据,如下所示...NSArray*rankStrings=@[@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10"];return[rankStrings[self.rank]stringByAppendingString:self.suit];“等级”声明为...@property(nonatomic)NSUInteger*rank;我收到错误消息,“索引表达式无效,因为下标类型‘NSUInteger’不是整数或Objective-C指针类型”。我试过用“NSInte

ios - 解析.com : How to compare pointer-keys with objects?

我正在为iOS应用程序使用后端服务parse.com,但我无法正确查询它。我需要有关方法whereKey:matchesKey:inQuery;的帮助;我有这个代码://NOTWORKINGPFQuery*query1=[PFQueryqueryWithClassName:@"Object"];PFQuery*query2=[PFQueryqueryWithClassName:@"ObjectsRelations"];[query2whereKey:@"user"equalTo:[PFUsercurrentUser]];[query1whereKey:@"objectId"matche

ios - 警告 : Incompatible integer to pointer conversion when using NS_ENUM types

我正在使用一个枚举,像这样:typedefNS_ENUM(NSInteger,MyURLType){MyURLType1,MyURLType2,MyURLType3};当我尝试比较或识别类型时出现问题:if(type==MyURLType2)在MyUrlType2和MyUrlType3的情况下(不是MyURLType1)。我在声明中做错了什么吗?有什么想法吗?谢谢! 最佳答案 来自您的评论Yes,IamusingMyURLType*type=MyURLTypeX然后type不是MyURLType类型,它是指向MyURLType的类型

ios - 如何解决钥匙串(keychain)错误 : Implicit conversion of C pointer type 'CFTypeRef'

我正在尝试这个UsingtheKeychaintostorepasswordsoniOSstorybored用于存储用户电子邮件和用于登录的密码。在我的m文件中:........#import"KeychainItemWrapper.m"........KeychainItemWrapper*keychain=[[KeychainItemWrapperalloc]initWithIdentifier:@"KeychainTest"accessGroup:nil];[keychainsetObject:kSecAttrAccessibleWhenUnlockedforKey:kSecAt

ios - Collection View 流布局上的 estimatedItemSize 导致单元测试崩溃 - EXC_ARITHMETIC

我有一个UICollectionViewFlowLayout和一个estimatedItemSize集。当我运行我的应用程序时,一切正常,但在我的单元测试中,每次我点击collectionView:dequeueReusableCellWithReuseIdentifier:时,我都会遇到EXC_ARITHMETIC崩溃。我知道这是由于我的estimatedItemSize造成的,因为删除它可以修复崩溃。有人知道为什么会这样吗?谢谢 最佳答案 我对UICollectionViewFlowLayout和estimatedItemSiz

ios - 如何使用 NS_RETURNS_INNER_POINTER 标志

我执行一项采用现代Objective-C的任务,我在Xcode中使用重构工具:编辑>重构>转换为现代Objective-C语法。在项目中我有一个方法返回constvoid*类型。并且在重构工具自动添加NS_RETURNS_INNER_POINTER标志之后这个方法之后。我确实在FoundationOlderNotes中检查过这个标志但我不清楚。是否有必要为任何返回非对象指针类型的方法或属性添加NS_RETURNS_INNER_POINTER?编译器对ARC中方法的指针返回到底做了什么? 最佳答案 NS_RETURNS_INNER_P

ios - Xcode 6.3 : Comparison of address of 'UIApplicationOpenSettingsURLString' not equal to a null pointer is always true 打开设置警告问题

我不是在发明轮子。在iOS8中,要从应用程序内部打开设置,我使用以下代码:BOOLcanOpenSettings=(&UIApplicationOpenSettingsURLString!=NULL);if(canOpenSettings){NSURL*url=[NSURLURLWithString:UIApplicationOpenSettingsURLString];[[UIApplicationsharedApplication]openURL:url];}代码在stackoverflow的很多答案和问题中。问题出现在Xcode6.3上,我收到警告说:“UIApplication

c - 警告 : passing argument 2 of ‘getsockname’ from incompatible pointer type

我想不通。谁能告诉我为什么会出现此错误:警告:从不兼容的指针类型传递“getsockname”的参数2在下面的代码中:#include#include#include#include#include#includeintmain(){intsd;structsockaddr_inmy_addr;bzero(&my_addr,sizeof(my_addr));my_addr.sin_family=AF_INET;my_addr.sin_addr.s_addr=inet_addr("127.0.0.1");my_addr.sin_port=htons(0);my_addr.sin_addr

pointers - 通过指针 : Error code 102 与用户类的关系

我有2个类:User、Books在User表中我有:objectId,AuthorName在Books表中,我有:objectId、BookName、authorIDptrAuthorIDptr是指向User类的指针当我运行这个查询时:varbookQuery=PFQuery(className:"Books")bookQuery.whereKey("authorIDptr",equalTo:PFUser.currentUser().objectId)bookQuery.includeKey("authorIDptr")varuserQuery=PFUser.query()userQu