Tôi có một ứng dụng đa nền tảng và trong một vài chức năng của tôi, không phải tất cả các giá trị được truyền cho các hàm đều được sử dụng. Do đó tôi nhận được cảnh báo từ GCC nói với tôi rằng có các biến không được sử dụng.
Điều gì sẽ là cách tốt nhất của mã hóa xung quanh cảnh báo?
Một #ifdef xung quanh chức năng?
#ifdef _MSC_VER
void ProcessOps::sendToExternalApp(QString sAppName, QString sImagePath, qreal qrLeft, qreal qrTop, qreal qrWidth, qreal qrHeight)
#else
void ProcessOps::sendToExternalApp(QString sAppName, QString sImagePath, qreal /*qrLeft*/, qreal /*qrTop*/, qreal /*qrWidth*/, qreal /*qrHeight*/)
#endif
{
Điều này là rất xấu nhưng có vẻ như cách trình biên dịch sẽ thích.
Hay tôi gán 0 cho biến ở cuối hàm? (điều mà tôi ghét vì nó làm thay đổi thứ gì đó trong luồng chương trình để tắt tiếng cảnh báo trình biên dịch).
Có một cách chính xác?
Q_UNUSED
macro chỉ cho việc này. Kiểm tra nó trong tài liệu.