Почему XCode вставляет квадратные скобки, когда я пытаюсь ввести оператор разрешения контекста C++,::?
Учитывая следующий незавершенный код C++:
if (true)
std
, как только я введу первый двоеточие (:
) оператора разрешения области (::
), XCode странным образом вставляет несколько квадратных скобок, и мой код выглядит так:
if [(true)
std:]
Это действительно раздражает, и он не может понять, почему он это делает. На данный момент он делает это в некоторых файлах, но не в других.
2 ответа
Решение
Похоже, он пытается помочь вам с синтаксисом Objective C.
По-видимому, файлы, в которых он пытается это сделать, имеют расширение, указывающее, что вы пишете Objective C. Файлы, в которых он этого не делает, имеют расширение, указывающее, что они содержат C++.
Он пытается быть хорошим и завершить синтаксис Obj-C.
object method
Добавление двоеточия превращается в
[object methodWithParameter:(parameter) ]