-1

У меня есть некоторые проблемы в связи с C++ в MS VS 2015 Enterprise.Директива C++ #define preprocessor не распознается после «<text>»

Я получил директиву препроцессора, в \ Str.h

\\ \Str.h file 
Line 96: #define S_COLOR_RED "^1" 

и использовать его, например, в этих строках:

\\ \math\Simd.cpp file 
Line 1501: idLib::common->Printf(" simd->Memcpy() "S_COLOR_RED"X\n"); 
Line 1527: idLib::common->Printf(" simd->Memset() "S_COLOR_RED"X\n"); 

Проблема заключается в том, если есть «» перед директива, C++ хочет использовать ее как пользовательский литерал, но на самом деле это просто простая константа.

После перехода к следующему, он работает:

// \math\Simd.cpp 
Line 1527: idLib::common->Printf(" simd->Memset() " 
Line 1527: idLib::common->Printf(S_COLOR_RED"X\n"); 

Что могло привести к этому? Все кредиты для id Tech, потому что эти фрагменты кода от id Tech 4 engine. Я не делал никаких изменений в исходном коде, просто пытаясь решить ошибки из загруженного источника.

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

Спасибо за вашу помощь, Sanapci

+0

Невозможно воспроизвести эту ошибку: http://ideone.com/FF6nTx Может быть, пробел между макросом и строками поможет? – Anedar

+0

Ух, да, пустое решение тоже. :) Как я забыл попробовать это .. Спасибо. На мой вопрос забудьте оставить код ошибки: 'Тяжесть \t \t Код Описание \t \t Project File \t Line Ошибка \t \t C3688 недопустимый буквальным суффикс 'S_COLOR_RED'; литеральный оператор или литерал оператора «оператор» «S_COLOR_RED» не найден \t idLib \t C: \ Users \ sanap \ Desktop \ TTimo-doom3.gpl-1559777 \ neo \ idlib \ math \ Simd.cpp \t 1501' – Sanapci

ответ

0

Try:

dLib::common->Printf(" simd->Memcpy() " S_COLOR_RED "X\n"); 
             ^  ^
              space between 

Строковые литералы должны объединить, если поставить пробел между ними.

+0

Да, после Комментарий Anedar Я пробовал этот метод и работал. :) Спасибо за ваш ответ тоже, но я полагаю, что он работал в этой форме и не знал, почему это происходит. – Sanapci

 Смежные вопросы

  • Нет связанных вопросов^_^