相关疑难解决方法(0)

148
推荐指数
7
解决办法
17万
查看次数

(void)'变量名'在C函数的开头做了什么?

我正在从FUSE阅读这个示例代码:

http://fuse.sourceforge.net/helloworld.html

我无法理解以下代码片段的作用:

static int hello_readdir(const char *path, void *buf, fuse_fill_dir_t filler,
                         off_t offset, struct fuse_file_info *fi)
{
    (void) offset;
    (void) fi;
Run Code Online (Sandbox Code Playgroud)

具体来说,(void)"变量名"的东西.我以前从未在C程序中看到过这种结构,所以我甚至不知道要在Google搜索框中添加什么.我目前最好的猜测是它是未使用的函数参数的某种说明符?如果有人知道这是什么,可以帮助我,那将是伟大的.谢谢!

c fuse

55
推荐指数
2
解决办法
3万
查看次数

抑制"未使用的变量x" - 警告的最佳方法是什么

抑制编译器(在本例中为gcc)的最佳/最佳方法是什么,如"未使用的变量x" - 警告?

我不想给gcc提供任何特定的标志来删除所有这些警告,仅用于特殊情况.

c gcc

52
推荐指数
5
解决办法
6万
查看次数

C++转换为void的目的是什么?

可能重复:
将未使用的返回值转换为void

我读了一些源代码,并在其中声明了接口类中的许多虚函数,并默认实现如下:

virtual bool FunctionName(TypeName* pointer)
{
   (void)pointer;
   return true;
}
Run Code Online (Sandbox Code Playgroud)

请问在默认实现中将指针转换为void的目的是什么?

c++ virtual

6
推荐指数
2
解决办法
3158
查看次数

(void)在c ++中的含义是什么?

我正在看一些具有如下函数的代码:

void f(A* a, B& b, C* c)
{
   (void)a;
   (void)b;
   (void)c;
}
Run Code Online (Sandbox Code Playgroud)

每行开头的(void)究竟是什么?

c++

5
推荐指数
1
解决办法
318
查看次数

类型转换变量使其无效?

我最近遇到了这段代码,我很困惑,它是做什么用的?

在C编程语言中,将变量void类型转换为数据类型是什么意思?这有什么作用?

如果执行了诸如类型转换或加法之类的表达式,而结果没有立即分配给某个变量,则该结果将丢失。您为什么要这么做?这似乎是一个无用的表达。

代码示例:

int main(int argc, char *argv[])
{
    /* void unused vars */
    (void) argc;
    (void) argv;

    // more code here

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

看来作者没有使用这些变量,但是为什么将它们转换为void数据类型?您最好将它们转换为int数据类型。

c typecast-operator

5
推荐指数
1
解决办法
88
查看次数

标签 统计

c ×4

c++ ×2

fuse ×1

gcc ×1

signals ×1

typecast-operator ×1

virtual ×1