Если вы вырезаете и вставляете этот точный код в Visual Studio (один по умолчанию на странице кода 1252 - если вы находитесь на другой кодовой странице, это может быть более прощающим) и попытаться сохранить его, Получите ключ:
Некоторые символы Юникода в этом файле не могут быть сохранены в текущей кодовой странице.
Таким образом, в самом файле есть что-то, что вызывает проблему. Еще одна подсказка будет заключаться в том, что, хотя первый #include
правильно отображен в Visual Studio (и в фрагменте кода переполнения стека), второй - нет. Это, по-видимому, указывает на то, что сама Visual Studio испытывает трудности с интерпретацией линии, несмотря на то, что она выглядит нормально.
Этот тип вещей обычно вызван наличием «смешных» кодов Unicode, таких как пробелы без пробелов или нулевой ширины, или символы, которые выглядят, как обычные латинские, но на самом деле могут быть греческими или Кириллица (или другие).
Так, копирование этой строки в a page that interprets Unicode strings появляется следующие кодовые точки:
0023 NUMBER SIGN
200E * LEFT-TO-RIGHT MARK
0069 LATIN SMALL LETTER I
006E LATIN SMALL LETTER N
0063 LATIN SMALL LETTER C
006C LATIN SMALL LETTER L
0075 LATIN SMALL LETTER U
0064 LATIN SMALL LETTER D
0065 LATIN SMALL LETTER E
202C * POP DIRECTIONAL FORMATTING
0020 SPACE
003C LESS-THAN SIGN
0066 LATIN SMALL LETTER F
0073 LATIN SMALL LETTER S
0074 LATIN SMALL LETTER T
0072 LATIN SMALL LETTER R
0065 LATIN SMALL LETTER E
0061 LATIN SMALL LETTER A
006D LATIN SMALL LETTER M
003E GREATER-THAN SIGN
Я пометил проблемные точки коды со звездочкой ∗
, чтобы сделать его более ясным, что происходит. Это похоже на то, что строка была скопирована с веб-страницы, в которой были эти направленные символы управления форматированием.
Следовательно, сама строка вызывает ошибку кодирования, которую вы видите. Ошибка ошибка (неполный тип), несомненно, вызвана тем фактом, что ошибка первая препятствует тому, чтобы заголовок fstream
был включен.
Решение довольно простое, просто введите строку под текущим и удалите оригинал.
Bonus карма для всех, кто может найти пасхальное яйцо в посте выше :-)
Там также отсутствует заголовок. –
И хорошая юникодная звездочка –
@LightnessRacesinOrbit выигрывает приз. Я думал, что это будет тяжелее. Возможно, я менее умный, чем я думал :-) – paxdiablo