Почему XCode вставляет квадратные скобки, когда я пытаюсь ввести оператор разрешения контекста C++,::?

Учитывая следующий незавершенный код C++:

if (true)
    std

, как только я введу первый двоеточие (:) оператора разрешения области (::), XCode странным образом вставляет несколько квадратных скобок, и мой код выглядит так:

if [(true)
    std:]

Это действительно раздражает, и он не может понять, почему он это делает. На данный момент он делает это в некоторых файлах, но не в других.

2 ответа

Решение

Похоже, он пытается помочь вам с синтаксисом Objective C.

По-видимому, файлы, в которых он пытается это сделать, имеют расширение, указывающее, что вы пишете Objective C. Файлы, в которых он этого не делает, имеют расширение, указывающее, что они содержат C++.

Он пытается быть хорошим и завершить синтаксис Obj-C.

object method

Добавление двоеточия превращается в

[object methodWithParameter:(parameter) ]
Другие вопросы по тегам