Параметр xcode4 несовместимого типа - PullRequest
11 голосов
/ 21 июля 2011

Проект, который нормально работает на Xcode3, не может скомпилироваться на Xcode4 с этой ошибкой:

file: //localhost/users/Ishaq/Projects/game01/libs/cocos2d/CCLayer.m: ошибка: семантическая проблема: отправка 'ccColor4B' (он же 'struct _ccColor4B') параметру несовместимого типа 'CIColor *'

код, который выдает эту ошибку ниже (из cocos2d-iphone * 1007)*):

+ (id) layerWithColor:(ccColor4B)color
{
     return [[[self alloc] initWithColor:color] autorelease];
}

Каким-то образом Xcode считает, что этот код вызывает - (id)initWithColor:(CIColor *)color; из CIImage (внутри CIImage.h).Как я могу настроить мозг Xcode прямо?; -)

Ответы [ 3 ]

31 голосов
/ 15 октября 2011

У меня такая же проблема. Я решил явно привести его к правильному типу, который поможет компилятору найти подходящий класс. Итак, код выглядит так:

return [[(CCColorLayer*)[self alloc] initWithColor:color] autorelease];
1 голос
/ 26 октября 2011

То же самое произошло со мной при использовании компилятора "LLVM GCC 4.2".Исправлено изменение настройки компилятора на «Apple LLVM Compiler 3.0».

1 голос
/ 21 июля 2011

Вы можете изменить self на фактическое имя класса CCLayer, которое должно указывать Xcode в правильном направлении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...