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

С учетом следующего незавершенного кода C ++:

if (true)
std

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

if [(true)
std:]

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

1

Решение

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

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

3

Другие решения

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

object method

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

[object methodWithParameter:(parameter) ]
1

По вопросам рекламы [email protected]