Не спрашивай почему. Но один из ваших компиляторов (или, может быть, это просто нечто вроде амбициозной подсветки синтаксиса) совершенно ясно убежден в том, что ранее рассматривал glob
в качестве идентификатора чего-то другого.
В процессе поиска я не нашел ничего очевидного, и, конечно, странно, что в коротком коде, включающем только наиболее широко используемые включения, два компилятора имеют разные мнения.
Но непосредственный способ обойти вашу проблему должен состоять в том, чтобы просто переименовать glob
во что-то другое. Использование более длинного имени, с добавлением немного большего предложения, не повредит. Слегка преувеличенное предложение будет
int globalvariableofunusedname = 10;
Это только ответ на ваш первый вопрос. Для второго (если вы оставите это здесь), проверьте правдоподобные комментарии. Однако я рекомендую разделить его на отдельный пост с вопросом.