Một cũng có thể sử dụng UNREFERENCED_PARAMETER
được định nghĩa trong WinNT.H
. Định nghĩa chỉ là:
#define UNREFERENCED_PARAMETER(P) (P)
Và sử dụng nó như:
void OnMessage(WPARAM wParam, LPARAM lParam)
{
UNREFERENCED_PARAMETER(wParam);
UNREFERENCED_PARAMETER(lParam);
}
Tại sao bạn lại sử dụng nó, bạn có thể tranh luận rằng bạn có thể bỏ qua chính tên biến. Vâng, có những trường hợp (cấu hình dự án khác nhau, bản dựng Gỡ lỗi / Phát hành) trong đó biến có thể thực sự được sử dụng. Trong một cấu hình khác, biến đó không được sử dụng (và do đó là cảnh báo).
Một số phân tích mã tĩnh có thể vẫn đưa ra cảnh báo cho câu lệnh không vô nghĩa này ( wParam;
). Trong trường hợp đó, bạn DBG_UNREFERENCED_PARAMETER
có thể sử dụng tương tự như UNREFERENCED_PARAMETER
trong bản dựng gỡ lỗi và làm P=P
trong bản dựng phát hành.
#define DBG_UNREFERENCED_PARAMETER(P) (P) = (P)
catch (const std::exception& /* unnamed */) {.... }
. Nó không trả lời câu hỏi của bạn, nhưng có thể giải quyết vấn đề của bạn.