cpSpaceHashEach - 2 проблемы в одной строке - PullRequest
1 голос
/ 16 октября 2011

Я пытаюсь понять основы бурундука. В каком-то уроке я нашел строку:

cpSpaceHashEach(space->activeShapes, &updateShape, nil);

Но здесь я получаю 2 ошибки:

1) Неявное объявление функции недействительно в C99

2) Нет элемента с именем 'activeShapes' в 'struct cpSpace'

Что не так? Почему это не работает? Нужно ли включать что-то еще?

Ответы [ 2 ]

5 голосов
/ 29 декабря 2011

Просто для пояснения с некоторым кодом на случай, если кто-то еще столкнется с этой проблемой, вместо

cpSpaceHashEach(space->activeShapes, &updateShape, nil); 

вы бы использовали:

cpSpaceEachShape(space, &updateShape, nil);

По-видимому, это изменение было сделано, поэтому легче сохранить код на будущее, поскольку activeShapes не предназначались для такого использования.

4 голосов
/ 16 октября 2011

Копаемся в журнале изменений: (* ​​1001 *

Если вы посмотрите, вы увидите, что в Chipmunk 5.x cpSpace. * Фигуры были помечены как частные члены структуры cpSpace в заголовке. Затем в Chipmunk 6.x частный доступ был отключен по умолчанию, и появилась функция cpSpaceEachShape (), которая почти точно заменила cpSpaceHashEach () + cpSpace.activeShapes, которые вы пытаетесь сделать.

...