Содержание
Я изучаю C ++, и я не могу обойти эту проблему,
всякий раз, когда я пытаюсь запустить его, я получаю эти ошибки. Плюс это ответ моего лектора
Решение
Проблема в том, что у вас вместо кавычек ASCII есть кавычки в Юникоде; возможно, ваш редактор автоматически изменил их, или вы скопировали текст с сайта, который делает это автоматически, в своем авторском программном обеспечении. Замените кавычки на обычные кавычки ASCII (0x22, «), и это должно работать.
Другие решения
Вы, кажется, используете неправильные символы кавычек. Если я изменю то, что вы должны:
У меня нет проблем компиляции (VC ++ 2015).
Это может зависеть от настроек клавиатуры, какие символы кавычек используются.
Попробуйте установить компоновщик на «Нет», чтобы увидеть, появляется ли ошибка по-прежнему
Превышение допустимого числа символов в символьной константе. Too many characters in character literal
Предпринята попытка инициализировать константу char с несколькими символами. An attempt was made to initialize a char constant with more than one character.
CS1012 может также произойти при выполнении привязки данных. CS1012 can also occur when doing data binding. Например, следующая строка кода вызывает эту ошибку: For example the following line will give an error:
Попробуйте использовать вместо нее следующую строку: Try the following line instead:
Следующий пример приводит к возникновению ошибки CS1012: The following sample generates CS1012:
Символьные литералы – это один или несколько символов, заключенных в апострофы: ’A’, ’я’, ’+’, ’
’.
Примеры различного определения символьной константы:
const char c=’1′; //символ ‘1’
const char d=49; //задание символа ‘1’ его ASCII-кодом
Перед начальным апострофом может размещаться буква L. Между апострофами может быть записан произвольный символ, кроме , ‘, “, ?. Эти символы записываются в виде ESC-последовательностей: \, ’, ”, ?.
Ординарная односимвольная константа имеет тип char, записывается без ведущего символа L, состоит из одного символа. Ее значение эквивалентно числовому значению из применяемой в реализации кодовой таблицы символов (например, на IBM-совместимых компьютерах, таблицы кодов ASCII). Ординарная мультисимвольная константа имеет тип int и состоит из нескольких символов (ее значение зависит от реализации).
Константа, включающая ведущий символ L, имеет тип wchar_t и называется широкой (широкосимвольной). Значением широкой константы из одного символа является числовое значение кода из применяемой в реализации кодовой таблицы символов. Значение широкой константы из нескольких символов зависит от реализации.
Символьная константаможет использоваться как целая константа, причем ее значением является интерпретация внутреннего представления данного символа в виде целого значения. Символьная константа не может быть пустой.
Для визуального представления неграфических символов используются ESC-последовательности, записываемые между апострофами. ESC-последовательность начинается символом обратной дробной черты ( — backslash) и может быть представлена:
переход на новую строку (
),
горизонтальная табуляция ( ),
возврат каретки (
),
звонок (a),
обратная дробная черта (\),
возврат на один шаг (backspace, );
нуль-символ окончания строки в С++(NULL) ‘