请问下面的这两句的void __RPC_FAR* 是什么意思?
typedef void __RPC_FAR* HGDIOBJ ;
typedef void __RPC_FAR* HBRUSH ;
我只明白typedef int Height;这种意思,上面的出现了void __RPC_FAR*两个我就搞
不懂了,请大家好好跟我解释一下,谢谢了!
typedef void __RPC_FAR* HGDIOBJ ;
typedef void __RPC_FAR* HBRUSH ;
我只明白typedef int Height;这种意思,上面的出现了void __RPC_FAR*两个我就搞
不懂了,请大家好好跟我解释一下,谢谢了!
参见http://topic.csdn.net/t/20041031/10/3507368.html
在rpc.h中的定义是
#define __RPC_FAR
是个空定义,
所以
typedef void __RPC_FAR* HGDIOBJ ;
typedef void __RPC_FAR* HBRUSH ;
变成了
typedef void * HGDIOBJ ;
typedef void * HBRUSH ; 就跟正常的
typedef int * pint ;
一个意思了
typedef void* HBRUSH ;
但是我又不明白这种typedef void* pint的形式要怎么用,如果是typedef int* pint我还知道,我就把本来的int *p就变成pint p;
但是它这个是void是空指针,那么我就不明白这个有什么用了,请大家帮我解释一下~
但是它这个是void是空指针,那么我就不明白这个有什么用了,请您帮我解释一下~
HBRUSH brush;
系统的一些函数会使用这些类型作为参数或者返回值等。
void*是空指针,反过来他就是万能指针,可以强制转化成其他各种类型的指针,增加程序灵活性
If a pointer's type is void *, the pointer can point to any variable that is not declared with the const or volatile keyword. A void pointer cannot be dereferenced unless it is cast to another type. A void pointer can be converted into any other type of data pointer.
A void pointer can point to a function, but not to a class member in C++.
You cannot declare a variable of type void.