- 399 名前:デフォルトの名無しさん [2009/10/17(土) 05:37:25 ]
- 次のようなプログラムを動かすと配列0番目を参照してるはずなのに
200が返されます。何故なんでしょうか? int main(int argc, char *argv[]) { array = [[NSMutableArray alloc] init]; [self bindInt:0 value:100]; [self bindInt:0 value:200]; Element *h = [array objectAtIndex:0]; printf("value:%d¥n", *(int*)h.p); } - (void)bindInt:(int)holderId value:(int)value { // Elementクラスにはvoid *p変数のみ定義されてる Element *holder = [[[Element alloc] init] autorelease]; holder.p = &value; [array addObject:holder]; } ちなみにbindIntのhoderId引数自体を外すと0が返されます。 これもよく理由がわかりません。。
|

|