2011-05-05 99 views
-1
@interface requestSession : data { 
    int size; 
} 

- (id)init 
{ 
    size_t size = sizeof(st); 
    self=[super initWithID:ID withData:(id)pData withSize:size]; 
    if (self) { 

    } 
    return self; 
} 

警告:大小的本地大小隐藏实例变量。使用sizeof时的警告 - 目标C

+4

好了,去解决你的代码。 – BoltClock 2011-05-05 11:28:45

回答

3

init中的size的本地声明隐藏了类的实例变量size

就像警告说的那样。

重命名你的本地sizeaSize或类似摆脱(即最有可能将不会出现在这种情况下,和潜在的bug)警告

像这样的东西:

- (id)init { 
    size_t aSize = sizeof(st); 
    self=[super initWithID:ID withData:(id)pData withSize:aSize]; 
    if (self) { 

    } 
    return self; 
} 
+0

我试着用一个名为set的函数,但在那里我也得到了相同的警告! – spandana 2011-05-05 11:41:13

+0

是什么?只需将'size_t size = sizeof(st);'替换为'size_t aSize = sizeof(st);',然后将'initWithID:withData:withSize:'中的大小更改为aSize。 – 2011-05-05 11:45:41

+0

@fluuchtpunkt:我改变了接口中声明的int asize,所以error.Thanks花花公子来修复错误。 – spandana 2011-05-05 11:57:19