Я пытаюсь использовать фрагмент кода из руководства по программированию Apple, и получаю EXC_BAD_ACCESS при попытке передать указатель на функцию сразу после выполнения malloc.
(Для справки: Руководство по программированию приложений iPhone: обработка событий - Перечисление 3-6 )
Код, о котором идет речь, действительно прост:
CFMutableDictionaryRef touchBeginPoints;
UITouch *touch;
....
CGPoint *point = (CGPoint *)CFDictionaryGetValue(touchBeginPoints, touch);
if (point == NULL)
{
point = (CGPoint *)malloc(sizeof(CGPoint));
CFDictionarySetValue(touchBeginPoints, touch, point);
}
Теперь, когда программа переходит к оператору if
, она присваивает 'output' malloc
в переменную / указатель point
.
Затем, когда он пытается передать point
в функцию CFDictionarySetValue
, он завершает работу приложения с: Program received signal: “EXC_BAD_ACCESS”.
Кто-то предложил не делать malloc
и передать point
var / pointer как: &point
, однако это все равно дало мне EXC_BAD_ACCESS
.
Что я (и похоже на Apple) делаю неправильно ???
Заранее спасибо.