[语法]“(void) i” 是什么意思?解决方法
[语法]“(void) i” 是什么意思?
最近在看代码的时候看到类似这样的语句,VC2005可以编译通过,不知道是什么意思,请高手解释一下:
int i;
(void) i;
//--------------------------
以下是原本的代码(抽取了其中相关的部分),是用于锁定信号量的:
------解决方案--------------------
用来避免"unreferenced variable"的warning
------解决方案--------------------
这代码看起来像是linux的
(void) i; 能编译通过,是因为它除了做了个强制类型转换,别的什么都没干
------解决方案--------------------
避免编译器提示变量i未被使用。
------解决方案--------------------
------解决方案--------------------
This is a dummy code. The implementation is ignored.
------解决方案--------------------
用来欺骗编译器的,结果是什么都不做,但是编译器不会在报告变量未使用的警告信息。
最近在看代码的时候看到类似这样的语句,VC2005可以编译通过,不知道是什么意思,请高手解释一下:
int i;
(void) i;
//--------------------------
以下是原本的代码(抽取了其中相关的部分),是用于锁定信号量的:
- C/C++ code
typedef int _glthread_Mutex; #define _glthread_DECLARE_STATIC_MUTEX(name) static _glthread_Mutex name = 0 #define _glthread_LOCK_MUTEX(name) (void) name #define _glthread_UNLOCK_MUTEX(name) (void) name _glthread_DECLARE_STATIC_MUTEX(OneTimeLock); static void one_time_init() { _glthread_LOCK_MUTEX(OneTimeLock); // do something... _glthread_UNLOCK_MUTEX(OneTimeLock); }
------解决方案--------------------
用来避免"unreferenced variable"的warning
------解决方案--------------------
这代码看起来像是linux的
(void) i; 能编译通过,是因为它除了做了个强制类型转换,别的什么都没干
------解决方案--------------------
避免编译器提示变量i未被使用。
------解决方案--------------------
------解决方案--------------------
This is a dummy code. The implementation is ignored.
------解决方案--------------------
用来欺骗编译器的,结果是什么都不做,但是编译器不会在报告变量未使用的警告信息。