Мне нужно работать со старым проектом. И почему-то это не позволяет мне скомпилировать следующую строку:
__weak typeof(self) weakSelf = self;
Хотя __typeof работает. Настройки сборки позволяют эту функцию.
Где мне нужно это проверить?
Мне нужно работать со старым проектом. И почему-то это не позволяет мне скомпилировать следующую строку:
__weak typeof(self) weakSelf = self;
Хотя __typeof работает. Настройки сборки позволяют эту функцию.
Где мне нужно это проверить?
Как правильно заметил @PhillipMills, C99
, как и C11
, не поддерживает typeof
.
Чтобы использовать его без префикса (__typeof
), необходимо использовать диалект GNU99
. Вот полный список различий: В чем разница между GNU99 и C99 (Clang )?
Кроме того, я обнаружил, что все шаблоны Xcode по умолчанию используют GNU99
диалект C.