c++ - "(void)pointer;"在 C++ 中是什么意思?

标签 c++ pointers

有一些c++代码

struct data {
    /* some fields */
};

typedef struct data * pData;

int function(pData pointer) {
    if(pointer == NULL)
        return ERROR;
    (void)pointer;
    /* other work */
}

“(void)pointer”是什么意思?

仅供引用,结构中有一些 int/char*/etc,一些用作回调函数的函数指针。

最佳答案

它用于规避未使用变量警告。

如果您确实使用了该变量,则它是空操作。

大多数未使用的变量是参数,它们是实现回调函数签名所必需的,但在您的实际实现中不需要。

对比

更新:

只是因为没有另外提及:变量的类型可能是任何类型。它不限于指针类型。

关于c++ - "(void)pointer;"在 C++ 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15528163/

相关文章:

c - 为什么 sizeof() 对指针数组不起作用?

c++ - 当我们引用非静态数据成员时,段错误是实际的未定义行为吗

c - 读取一串整数并用它们创建一个数组

c++ - C++ 17 中 Clang 的不明确部分特化

c++ - 将二维数组值存储在一个线性 vector 中的循环逻辑

c++ - 更改默认/工作目录 Xcode 3.2.6

c - 使数组指向另一个数组的内存 C

c - 尝试进行从 char 到 int 指针的类型转换时违反 MISRA C-2012 规则 11.3

c++ - 错误 C2059 : syntax error 'constant'

c++ - 我可以用 C++、C 进行 Android 编程吗?