//windows header file:
#define TCN_FIRST (0U-550U)
#define TCN_SELCHANGE (TCN_FIRST - 1)
//user file:
...
unsigned int i = TCN_SELCHANGE;
Вышеупомянутый код действителен в C ++, он должен компилироваться без предупреждения. Нет переполнения, это просто должно быть -550U
Было бы более понятно, если бы они написали это как #define TCN_FIRST 0xFFFFFDDA
или 0xFFFFFFFFU-549U
Анализ кода, похоже, использует другой метод и видит переполнение.
Возможное решение:
Отключить предупреждение в коде:
#pragma warning( push )
#pragma warning( disable : 26454 )
BEGIN_MESSAGE_MAP(CMyDialog, CDialogEx)
ON_NOTIFY(TCN_SELCHANGE, IDC_TAB1, OnTcnSelchangeTabHistoryType)
END_MESSAGE_MAP()
#pragma warning( pop )
Или отключите предупреждение в правиле анализа кода
Использовать редактор набора правил анализа кода