首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

[语法]“(void) i” 是什么意思?解决方法

2012-08-10 
[语法]“(void) i” 是什么意思?最近在看代码的时候看到类似这样的语句,VC2005可以编译通过,不知道是什么意

[语法]“(void) i” 是什么意思?
最近在看代码的时候看到类似这样的语句,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未被使用。
[解决办法]
探讨
用来避免"unreferenced variable"的warning

[解决办法]
This is a dummy code. The implementation is ignored.
[解决办法]
用来欺骗编译器的,结果是什么都不做,但是编译器不会在报告变量未使用的警告信息。

热点排行