Визуальная строка ввода C ++ двойной шеврон

В настоящее время я пытаюсь использовать двойной шеврон в строке для «<<«и» >> «для обозначения сдвига битов. Однако моя программа, похоже, не распознает использование двойных шевронов для любого ввода. Если я изменю его на любую другую строку, она будет работать отлично.

дерплефт будет работать, однако<<» не будет работать.

keywords_["derpleft"]  = keywords_["<<"] = make<BitShiftLeft>();
keywords_["derpright"] = keywords_[">>"] =  make<BitShiftRight>();

dictionary_type keywords_;

typedef std::map<string_type,Token::pointer_type>   dictionary_type;

typedef std::string string_type;

0

Решение

Я просто не понимаю это утверждение:

keywords_["derpleft"]  = keywords_["<<"] = make<BitShiftLeft>();

Кажется ты хочешь << а также derpleft указать (сохранить) значение, возвращаемое make<BitShiftLeft> вызов. В таком случае, почему бы не просто так:

keywords_["derpleft"]  = make<BitShiftLeft>();
keywords_["<<"] =  make<BitShiftLeft>();

Вы можете хранить значение make вызвать некоторую локальную переменную (auto предпочтительное ключевое слово).

И самое главное, вы не упомянули, в чем проблема!

0

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

Я забыл закрыть эту ветку, но проблема заключалась в том, что я не установил логическое значение true в одной из моих функций редактора. Это была просто логическая ошибка, которую я создал.

0

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