簡體   English   中英

使用ARC隱式轉換指向objective-c指針的間接指針

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM