Проблема
Необходимо вывести сообщение во время компиляции с указанием номера строки в исходном файле:
Дело в том что __LINE__ имеет целочисленный тип, а данная директива принимает только строки. Для того что-бы всё работало как нужно, следует использовать следующий приём:
Необходимо вывести сообщение во время компиляции с указанием номера строки в исходном файле:
#pragma message(__FILE__ " (" __LINE__ "): Some important message.")Данный код генерирует ошибку:
warning C4081: expected ')'; found 'constant'Решение
Дело в том что __LINE__ имеет целочисленный тип, а данная директива принимает только строки. Для того что-бы всё работало как нужно, следует использовать следующий приём:
#define STRING2(x) #x #define STRING(x) STRING2(x) #pragma message(__FILE__ " (" STRING(__LINE__) "): Some important message.")
Комментариев нет:
Отправить комментарий