如何修复c中声明但未引用或从未引用的编译器错误

如何修复c中声明但未引用或从未引用的编译器错误,c,C,我看了几个线程,但答案似乎并不明显,所以下面是:示例代码: uhci_ports_poll( usbuhci_instance_t *soft){ uint64_t class = TRC_HELPER | TRC_MOD_UHCI; uint16_t reg; usbcore_instance_t *usbcore = soft->usbcore; usbhub_instance_t *roothub = soft->roothub; hub_methods_t

我看了几个线程,但答案似乎并不明显,所以下面是:示例代码:

uhci_ports_poll( usbuhci_instance_t *soft){
uint64_t class = TRC_HELPER | TRC_MOD_UHCI;
uint16_t reg;
usbcore_instance_t *usbcore = soft->usbcore;
usbhub_instance_t *roothub = soft->roothub;
hub_methods_t           *hub_methods;
uint32_t port_num; 
int event = 0, rc = 0;
错误:cc-1174 c99:WARNING File=usbuhci.c第724行变量“rc”已声明但从未引用。 int事件=0,rc=0
除了这些警告之外,似乎编译和加载都很好,但是它们可以被修复吗?

警告告诉您,
rc
没有在任何地方使用


您可以通过删除
rc
使警告静音,最好的方法是删除
rc
,但如果在宏扩展期间或由代码生成器生成
rc
,则可能会很困难

使编译器静音的传统方法是强制转换为
void
。或者,可以使用GCC和CLANG编译器上可用的
unused
属性

int main() {
    int a;
    int b __attribute__ ((unused));
    int c;
    (void)a;
    // will warn about c but not about a and b
    return 0;
}

把它拿走。它没有被引用,所以保存它没有意义。