![](/img/trans.png)
[英]implicit conversion of an Objective-C pointer to 'void *' is disallowed with ARC - sqlite3
[英]implicit conversion of an indirect pointer to an objective-c pointer with ARC
我正在開發一個使用ARC的項目,我遇到了現有的代碼問題。
繼承人代碼:
- (id)initWithError:(NSError **)error
{
if ((self = [super init]))
{
errorPointer = error; //Getting error here
}
return self;
}
我得到一個錯誤說:
ARC不允許隱式轉換指向'NSError'的objective-c指針的間接指針。
我該怎么做才能解決這個問題? 我試過做過橋接演員,但是沒有用。 任何幫助表示贊賞。
哦,只是為了澄清,在.h文件中這是我聲明變量errorPointer的方式:
NSError * errorPointer;
謝謝!
它應該是
errorPointer = *error; // no error here
這兩個變量的間接程度不同(簡單地說,它們的聲明中的星數不同)。 您需要在error
前添加*
以抵消errorPointer
的額外*
。
errorPointer和錯誤類型不匹配。
基於你在那里的代碼,似乎你的error
參數應該被聲明為NSError *
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.