草庐IT

Pointer-X

全部标签

c++ - Pointer-to-Pointer 在 Pointer 不存在的情况下崩溃

我正在将一些代码移植到Windows并且被难住了。有一些代码在启动时自动运行以将指针复制到指针,并在退出时再次运行以删除指向指针的指针(如果它不为空)。我已经创建了一个示例程序来重现该行为intmain(){//PointertoaPointer,currentcrash.InterfaceClass**ptrptr;ConcreteTwo*object=newConcreteTwo();ptrptr=(InterfaceClass**)(&object);//castisrequiredforsomereason.delete*ptrptr;//Crashhere.//Singlep

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 - 如何使用 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

python执行函数时报错TypeError: create_pointer_down() takes 1 positional argument but 2 were given

 在调用函数时出现了这个报错new_input.create_pointer_down(MouseButton.LEFT)TypeError:create_pointer_down()takes1positionalargumentbut2weregiven,意思是说这个函数只接收一个变量,但实际上却给了两个变量,我搜索到说如果这个函数是自己在类里定义的,那么应该在类的函数参数在最前方加上self,defcreate_pointer_down(self,**kwargs):data=dict(type="pointerDown",duration=0)data.update(**kwargs)