(void (*)(void))高人指教。 [问题点数:20分,结帖人unbutun]

Bbs1
本版专家分:54
结帖率 100%
Bbs3
本版专家分:924
Bbs6
本版专家分:6238
Blank
蓝花 2007年11月 C/C++大版内专家分月排行榜第三
Bbs6
本版专家分:6238
Blank
蓝花 2007年11月 C/C++大版内专家分月排行榜第三
Bbs3
本版专家分:567
Bbs1
本版专家分:54
(void (*)(void *))的作用是什么
请教大家一个C指针的问题rnsctp_inq_set_th_handler和sctp_endpoint_bh_rcv是两个函数,其原型分别为:rn<em>void</em> sctp_inq_set_th_handler(struct sctp_inq *q,<em>void</em> (*callback)(<em>void</em> *), <em>void</em> *arg)rn和rn<em>void</em> sctp_endpoint_bh_rcv(struct sctp_endpoint *ep)rnrn在一个函数语句sctp_inq_set_th_handler(&ep->base.inqueue,(<em>void</em> (*)(<em>void</em> *))sctp_endpoint_bh_rcv, ep);中,(<em>void</em> (*)(<em>void</em> *))的作用是什么?感觉不加也没有语法错误吧?rn
void main(void
为什么要在将main()写成这样<em>void</em> main(<em>void</em>)呢?如果没有参数也不返回值的话,什么也不写不就更省事么?
void Init(void);
<em>void</em> Init(<em>void</em>); rn这是什么意思。(括号里填<em>void</em>是什么意思)。
voidvoid*的区别
<em>void</em> print(){printf(&quot;hello!\n&quot;);return;}返回值的类型为<em>void</em>,意味着没有返回值。如果没有对函数的返回值声明任何类型,默认的返回值为int型,并不是<em>void</em>型,sum(int a[], int n){int i,sum;sum=0;for(i=0;i&amp;lt;n;n++)sum+=a[i];return sum;}<em>void</em> 可以作为参数int main(voi...
void 和 Void的区别
<em>void</em> 和 Void的区别: <em>void</em>是用于没有返回值的方法的定义,比如:public <em>void</em> test(){ ………………} Void是一个Class,是对<em>void</em>的包装,方法的返回值可以是Void,比如:public Void test(){ return null;} //这里Void类型的返回值只能是null Void不能被实例化。可用于返回null或者泛型返回null的,还可以反射...
void *
今天在gcc上试了下 下面的语句 rnint *p=NULL;rn<em>void</em> * p1=NULL;rnp = p1;rn呵呵,正常运行 以前学的是 任何类型指针可以赋给 无类型的指针 倒过来就不可以 rn还经常看到一个生动的例子说 “女人 男人是人 但不能说人是男人(女人) " 可是在gcc上 ”人是可以说成是男人(女人)的“rnrn在vc上试了下 呵,会报错 rn 为什么呢,查了下 原来c99中有说可以将无类型指针赋给其他类型指针 不用强制转换 gcc支持c99 rnvc不支持c99吧 rnrn大家什么看法,,发表一下吧
(void),....
[code=C/C++][/code]rnrnstruct servers *p;rn(<em>void</em>)p //这个有什么作用 ,求解。。
void Init(void)
<em>void</em> Init(<em>void</em>)rnrnint gd=DETECT,gm;rninitgraph(&gd,&gm,"c:\\tc");rncleardevice();rnrn请教一下各位,这是什么意思?rnrn
(void * (*)(void *)) pthread_manager
看到一段程序:pthread_create(&pthread[PTHREAD] , NULL, (<em>void</em> * (*)(<em>void</em> *)) pthread_manager, NULL) !=0) rnrn请问(<em>void</em> * (*)(<em>void</em> *))怎么理解?
void
<em>void</em> main()rnrn <em>void</em> int num1(int, int, int);rn <em>void</em> int num2(int, int, int);rn <em>void</em> int num3(int, int, int);rnrnrn<em>void</em> int num1(int a1, int b1, int c1)rnrn ………………rn rnrnrn<em>void</em> int num2(int a2, int b2, int c2)rnrn ………………rn rnrnrn<em>void</em> int num3(int a3, int b3, int c3)rnrn ………………rn rnrnrn===============================rnrn以上的三个子函数中<em>void</em>用得对不对?在语法上?rnrn还有就是上面的三个声明放在外部会怎么样?和放在main()内部有什么不同?
void********************
我用CMapPtrToPtr把一个对象(global)的指针存起来(<em>void</em>*), 在其他地方我得到这个<em>void</em> *, 再把它强制转换成对象类型, 但为什末对象变空了, releace版并不空?????????????????????
voidvoid*指针的解析
前段时间看了篇文章讲到了C语言中<em>void</em>的用法细节,但是只是进行了说明并未进行实例分析也没有说明C++中<em>void</em>是否有区别,因此今天我在这里详细说明一下<em>void</em>的一些细节。分析结果皆来自代码分析,并未查阅相关技术文档,如有错误请指正。   <em>void</em>的定义:<em>void</em>在C和C++是一种数据类型,意为“空指针”。   <em>void</em>类型在C语言中:无法定义   <em>void</em>类型变量,无论是cl还是gcc编译器
求比较 void * 和 void **
一直不甚明白机理。<em>void</em> * 和 <em>void</em> ** 的相似之处和不一样的地方。哪儿有比较详细的解释吗?
void *thr_fn1(void *arg)
<em>void</em> *thr_fn1(<em>void</em> *arg)表示什么意思啊。。。,求教
typedef void (*TIM_VOID_FUNCTION_POINTER)(void); ?
请大侠给我解释解释!
关于“void main(void) ”?
网上看了些文章谈到<em>void</em> main(<em>void</em>) 是错误的,不是C/C++标准rn但发现在许多地方都是这么写的,尤其是在嵌入式软件中,rn那么究竟<em>void</em> main(<em>void</em>) 是对是错?应该怎样写
void main(void)什么意思?
是说argc为空吗?没有char *argv[]正确吗?
-(void)方法与+(void)方法
-(<em>void</em>) test;  其实就是java的类方法 +(<em>void</em>)test;  其实就是java的静态方法  
public voidvoid 的区别
<em>void</em> test()rn rnrn public <em>void</em> test()rn rnrn上面两者有何区别?
void function()和void function(void)一样吗?
我怎么一直觉得他们一样呢?rn好多年写C++代码都是用[color=#FF0000]<em>void</em> function();[/color]代表无参数rn我最近在写C时发现,似乎[color=#FF0000]<em>void</em> function();[/color]是指任意参数,而只有rn[color=#FF0000]<em>void</em> function(<em>void</em>);[/color]才是真正的无参数。rnrn是这样的吗?rn还是C和C++有区别?rnC是怎么样的?C++是怎么样的?
typedef void (*OS_TMR_CALLBACK)(void *ptmr, void *parg);
typedef <em>void</em> (*OS_TMR_CALLBACK)(<em>void</em> *ptmr, <em>void</em> *parg);rnrnrn在看代码的时候看到这个,这个怎么理解啊
求助,C++的多线程问题 void (void *)' to 'void (__cdecl *)(void *
写了一个关于多线程的程序,创建线程老是编译不通过,报错为 cannot convert parameter 1 from '<em>void</em> (<em>void</em> *)' to '<em>void</em> (__cdecl *)(<em>void</em> *)'rnrn大致代码如下rn首先是两个结构体rnstruct Prderrnrn <em>void</em> CreatProduct(<em>void</em>* pArguments);//生产者生产一个产品rn <em>void</em> ThreadCreatProduct();//线程rn;rnstruct Consumerrnrn <em>void</em> ConsumePrd(<em>void</em>* pArguments);//消费者消费一个产品rn <em>void</em> ThreadConsumePrd();//线程rn;rnrn函数定义如下rn <em>void</em> Consumer::ConsumePrd(<em>void</em>* pArguments)rnrn //详细实现代码rn //*******rnrnrn <em>void</em> Prder::CreatProduct(<em>void</em>* pArguments)rnrn //详细实现代码rn //*******rnrnrn<em>void</em> Consumer::ThreadConsumePrd()rnrn _beginthread(ConsumePrd,0,NULL);//这里有错rnrnrn<em>void</em> Prder::ThreadCreatProduct()rnrn _beginthread(CreatProduct,0,NULL);//这里有错rnrnrn我已经调整过VC6.0里边的多线程MT设置了,还是报错。在vs2008中也是类似的错误。rn为什么啊?rn看了windows程序设计中几个样例,也是类似的形式,为什么会通不过呢??rn请高手解答,非常感谢
voidvoid*的详解
<em>void</em>和<em>void</em>*的详解:<em>void</em>指该数据无类型,<em>void</em>*指该指针无类型,可以指向任意类型 1. 如果函数没有返回值,那么应声明为<em>void</em>类型; 2. 如果函数无参数,那么应声明其参数为<em>void</em>; 3. 如果函数的参数可以是任意类型指针,那么应声明其参数为<em>void</em> * ;  4. <em>void</em>不能代表一个真实的变量;                                        
voidvoid *作何用处?
<em>void</em> ,<em>void</em> *作何用处?请<em>指教</em>!
((void (__stdcall *)(void))addr)();
long addr=*((long *)(*( unsigned long *)&bb)); rn((<em>void</em> (__stdcall *)(<em>void</em>))addr)();rnrn第二句看不懂
void???
大哥,大姐,你们好,在学习C语言时,遇到<em>void</em>不知道什么意思,做什么用,请帮帮忙,谢谢!
void 和Void*的详细讲解
一、<em>void</em>的含义,首先单词<em>void</em>的常见中文意思为“空的”。C语言中 <em>void</em>指“无类型”  二、<em>void</em>的作用  1.用在函数当中  ①对函数返回值的限定。  ②对函数参数的限定。  如:  <em>void</em> func(<em>void</em>);/表示func()这个函数没有返回,输入参数为空。一般省略出入的空参数写为,<em>void</em> func()。/ 与之对应的如:  int func(int,in
*(void **) 与 void*的区别
阅读nginx源码时:rn*(<em>void</em> **) conf = ctx;rn其中:rn<em>void</em> ***ctx;rn<em>void</em> *conf;rnrn网上找到的回答很少。rn想请问一下:rn*(<em>void</em>**) 是什么意思?
void**
假设有一个封装过的,用于获取消息队列中消息的函数声明为rnget_msg_que(<em>void</em> **msg);rnrn消息队列中可能存放两种结构的消息如:rntypedef structrn int msg_id; //msg_id =1rn struct_msg msg_strA;rnque_msgA;rnrntypedef structrn int msg_id; //msg_id =2rn int num;rn struct_msg msg_strB;rnque_msgB;rnrnmain函数通过调用get_msg_que获取消息内容。rn但由于get_msg_que可能会返回两种不同的消息结构,就要通过msg_id来进行判断。rnrn问题:对<em>void</em>**不是很熟,main()如何调用get_msg_que,如何获取msg_id,希望大家帮忙。
invalid conversion from 'void (*)(void*, void*)' to 'LPVOID aka void*' [-fperm
rn<em>void</em> Cqtshow::SetDrawCallBack(LPVOID alpFunc, LPVOID alpPar);这是定义m_qt1.SetDrawCallBack(Drawqt,NULL);这是调用rn<em>void</em> Drawqt(<em>void</em>* Dlg,<em>void</em>* Handle)这是函数实体rnvc下编译正常,qt下就出现错误了。rn编译出现错误:rninvalid conversion from '<em>void</em> (*)(<em>void</em>*, <em>void</em>*)' to 'LPVOID aka <em>void</em>*' [-fpermissive] rnrn
void fun(void) 与 void fun()的区别
<em>void</em> fun(<em>void</em>) 与 <em>void</em> fun()的区别rn这是我在学习函数指针遇到的问题rnrn指针声明为 <em>void</em> (*p)()时,发现可以随便指向函数。rn如下:rn[code=C/C++]rn#include rnrn<em>void</em> func()rnrn printf("Oh yeah \n");rnrnrn<em>void</em> funcv(<em>void</em>)rnrn printf("Oh yeah \n");rnrnrn<em>void</em> func1(int a)rnrn printf("%d Oh yeah \n", a);rnrnrnint func2(int a)rnrn printf("%d Oh yeah \n", a);rn return a;rnrnrnint main()rnrn <em>void</em> (*p)();rn p = func;rn p();rnrn p = func1;rn p(1);rnrn p = func2;rn int t = p(2);rnrn p = funcv;rn p();rnrn return 0;rnrn[/code]rnrnrnrn这里只是出了一个问题:rnottocho@i7:~$ gcc funp.c rnfunp.c: In function ‘main’:rnfunp.c:33: warning: assignment from incompatible pointer typernfunp.c:34: error: <em>void</em> value not ignored as it ought to bern这里可以看出:rnp指向func2时有问题。 func2是 int func2(int) 类型,而指针返回类型是<em>void</em>(无返回值)。rn这个可以验证我在某本书看到的一句话:rn函数本身是没有类型的,只有函数的返回值才有类型。rn这句话有没有记错,我并不是很确定。但是这句话的确给出解答。rn<em>void</em>(*p)() 指针可以指向不同函数:不同参数的(<em>void</em> func1(int)),相同参数的(<em>void</em> func())rn还可以指向不知道和<em>void</em> (*p)()什么关系的<em>void</em>(*p)(<em>void</em>)。rnrn<em>void</em> fun(<em>void</em>) 与 <em>void</em> fun() 有什么关系与区别?rn这是否可以说明:可以给无参数的函数传送任意类型的参数(因此,<em>void</em>(*p)() 指针可以指向相同返回值不同参数的函数? )rnrnrn下面是另外一个例程:rn[code=C/C++]rnrn<em>void</em> func()rnrn printf("Oh yeah \n");rnrnrn<em>void</em> funcv(<em>void</em>)rnrn printf("Oh yeah \n");rnrnrn<em>void</em> func1(int a)rnrn printf("%d Oh yeah \n", a);rnrnrnint func2(int a)rnrn printf("%d Oh yeah \n", a);rn return a;rnrnrnint main()rnrn <em>void</em> (*p)(<em>void</em>);rn p = func;rn p();rnrn p = func1;rn p(1);rnrn p = func2;rn int t = p(2);rnrn p = funcv;rn p();rnrn return 0;rnrn[/code]rnrnrnottocho@i7:~$ gcc funp.crnfunp.c: In function ‘main’:rnfunp.c:30: warning: assignment from incompatible pointer typernfunp.c:31: error: too many arguments to function ‘p’rnfunp.c:33: warning: assignment from incompatible pointer typernfunp.c:34: error: too many arguments to function ‘p’rnfunp.c:34: error: <em>void</em> value not ignored as it ought to bernrn<em>void</em>(*p)() 指针p可以指向 <em>void</em> func() <em>void</em> funcv(<em>void</em>)rn<em>void</em> (*p)(<em>void</em>) ,p可以指向 <em>void</em> func() <em>void</em> funcv(<em>void</em>)。rn此外,<em>void</em>(*p)() 指针p可以指向不同参数的函数(相同返回值),<em>void</em> (*p)(<em>void</em>) 不可以。rn为什么?
void (__cdecl *proc)(void *) 与void __cdecl *proc(void *)的区别?
如题,谢谢~~~~!
解释 typedef void (AFX_MSG_CALL CCmdTarget::*AFX_PMSG)(void); 高人请进?
rn把AFX_PMSG定义成什么了?rn<em>高人</em>请指点!
void *fun和 (void *)fun 的区别
<em>void</em> *fun 和 (<em>void</em> *)fun 有什么区别
C++读书笔记—voidvoid*的区别
1、函数的返回值如果是 <em>void</em> 类型的,则表示这个函数的执行结果是没有返回值的;2、函数的返回值如果是 <em>void</em>* 类型的,则表示返回一个内存地址,这个内存空间存放的数据类型是<em>void</em>类型的,即无类型的,也可以说是万能型的3、在实际开发中,<em>void</em>* 使用时最终都要强制转换成某种明确的数据类型...
void和(void)有何区别?
<em>void</em>加括号和不加有什么不一样?
typedef void(CCmdTarget::*AFX_PMSG)(void)....
typedef <em>void</em>(CCmdTarget::*AFX_PMSG)(<em>void</em>)中第一个括号中的“*”号代表什么意思?
void main( ) 和int main void()
很多人甚至市面上的一些书籍,都使用了<em>void</em> main( ) ,其实这是错误的。C/C++ 中从来没有定义过<em>void</em> main( ) 。C++ 之父 Bjarne Stroustrup 在他的主页上的 FAQ 中明确地写着 The definition <em>void</em> main( ) /* ... */ is not and never has been C++, nor has it even been C.( <em>void</em> main( ) 从来就不存在于 C++ 或者 C )。下面我分别说一下 C 和 C++ 标准中对 main 函数的定义。 rnrn rnrn1. C rnrn rnrn 在 C89 中,main( ) 是可以接受的。Brian W. Kernighan 和 Dennis M. Ritchie 的经典巨著 The C programming Language 2e(《C 程序设计语言第二版》)用的就是 main( )。不过在最新的 C99 标准中,只有以下两种定义方式是正确的: rnrn rnrn int main( <em>void</em> ) rnrn int main( int argc, char *argv[] ) rnrn rnrn(参考资料:ISO/IEC 9899:1999 (E) Programming languages — C 5.1.2.2.1 Program startup) rnrn rnrn 当然,我们也可以做一点小小的改动。例如:char *argv[] 可以写成 char **argv;argv 和 argc 可以改成别的变量名(如 intval 和 charval),不过一定要符合变量的命名规则。 rnrn rnrn 如果不需要从命令行中获取参数,请用int main(<em>void</em>) ;否则请用int main( int argc, char *argv[] ) 。 rnrn rnrn main 函数的返回值类型必须是 int ,这样返回值才能传递给程序的调用者(如操作系统)。 rnrn rnrn 如果 main 函数的最后没有写 return 语句的话,C99 规定编译器要自动在生成的目标文件中(如 exe 文件)加入return 0; ,表示程序正常退出。不过,我还是建议你最好在main函数的最后加上return 语句,虽然没有这个必要,但这是一个好的习惯。注意,vc6不会在目标文件中加入return 0; ,大概是因为 vc6 是 98 年的产品,所以才不支持这个特性。现在明白我为什么建议你最好加上 return 语句了吧!不过,gcc3.2(Linux 下的 C 编译器)会在生成的目标文件中加入 return 0; 。 rnrn rnrn rnrn2. C++ rnrn rnrn C++98 中定义了如下两种 main 函数的定义方式: rnrn rnrn int main( ) rnrn int main( int argc, char *argv[] ) rnrn rnrn(参考资料:ISO/IEC 14882(1998-9-01)Programming languages — C++ 3.6 Start and termination) rnrn rnrn int main( ) 等同于 C99 中的 int main( <em>void</em> ) ;int main( int argc, char *argv[] ) 的用法也和 C99 中定义的一样。同样,main 函数的返回值类型也必须是int。如果main函数的末尾没写return语句,C++98 规定编译器要自动在生成的目标文件中加入 return 0; 。同样,vc6 也不支持这个特性,但是 g++3.2(Linux 下的 C++ 编译器)支持。 rnrn rnrn rnrn3. 关于 <em>void</em> main rnrn rnrn 在 C 和 C++ 中,不接收任何参数也不返回任何信息的函数原型为“<em>void</em> foo(<em>void</em>);”。可能正是因为这个,所以很多人都误认为如果不需要程序返回值时可以把main函数定义成<em>void</em> main(<em>void</em>) 。然而这是错误的!main 函数的返回值应该定义为 int 类型,C 和 C++ 标准中都是这样规定的。虽然在一些编译器中,<em>void</em> main 可以通过编译(如 vc6),但并非所有编译器都支持 <em>void</em> main ,因为标准中从来没有定义过 <em>void</em> main 。g++3.2 中如果 main 函数的返回值不是 int 类型,就根本通不过编译。而 gcc3.2 则会发出警告。所以,如果你想你的程序拥有很好的可移植性,请一定要用 int main 。 rnrn rnrn rnrn4. 返回值的作用 rnrn rnrn main 函数的返回值用于说明程序的退出状态。如果返回 0,则代表程序正常退出;返回其它数字的含义则由系统决定。通常,返回非零代表程序异常退出。下面我们在 winxp 环境下做一个小实验。首先编译下面的程序: rnrn rnrn int main( <em>void</em> ) rnrn rnrn return 0; rnrn rnrn rnrn然后打开附件里的“命令提示符”,在命令行里运行刚才编译好的可执行文件,然后输入“echo %ERRORLEVEL%”,回车,就可以看到程序的返回值为 0 。假设刚才编译好的文件是 a.exe ,如果输入“a && dir”,则会列出当前目录下的文件夹和文件。但是如果改成“return -1”,或者别的非 0 值,重新编译后输入“a && dir”,则 dir 不会执行。因为 && 的含义是:如果 && 前面的程序正常退出,则继续执行 && 后面的程序,否则不执行。也就是说,利用程序的返回值,我们可以控制要不要执行下一个程序。这就是 int main 的好处。如果你有兴趣,也可以把 main 函数的返回值类型改成非 int 类型(如 float),重新编译后执行“a && dir”,看看会出现什么情况,想想为什么会出现那样的情况。顺便提一下,如果输入 a || dir 的话,则表示如果 a 异常退出,则执行 dir 。 rnrn rnrn rnrn5. 那么 int main( int argc, char *argv[], char *envp[] ) 呢? rnrn rnrn 这当然也不是标准 C/C++ 里面定义的东西!char *envp[] 是某些编译器提供的扩展功能,用于获取系统的环境变量。因为不是标准,所以并非所有编译器都支持,故而移植性差,不推荐使用。 rn
关于void WINAPI与WINAPI void
在VC++ 中为什么在定义函数的时候rn<em>void</em> WINAPI Fun() ; 可以正常编译通过,rn但是写作 WINAPI <em>void</em> Fun() ;的时候虽然可以通过,但是会报警rnrn而如果在borlande c++ 中这两种写法都是可以正常编译通过的rnrn#include rn#include rnrnusing namespace std ;rnrn<em>void</em> WINAPI <em>void</em> Fun(int iValue)rnrn cout << "iValue = " << iValue << endl ;rnrnrnint main()rnrn Fun(10) ;rn return 1 ;rnrn在vc6.0下编译正常通过,但是WINAPI <em>void</em> Fun(int iValue)会报警;rnrn申明,并不是无聊研究这个,所以请教下各位<em>高人</em>。rn谢谢!
*(void **)pblk 和(void *)pblk的区别
INT8U OSMemPut (OS_MEM *pmem, <em>void</em> *pblk)rnrn。。。。rn。。。。rn*(<em>void</em> **)pblk = pmem->OSMemFreeList;这句话为啥不用*pblk = pmem->OSMemFreeList;rnrnrnrn大虾门大胆说说。。。。。rn
typedef void (*ThreadPoolWorkRoutine)(void* param)
[code=C/C++] typedef <em>void</em> (*ThreadPoolWorkRoutine)(<em>void</em>* param);[/code]rn是怎么个意思啊,麻烦懂的人解释一下
static void (*set_malloc_handler(void(*f)()))()?
templaternclass malrnpublic:rn.........rnstatic <em>void</em> (*set_malloc_handler(<em>void</em>(*f)()))()rn <em>void</em> (*old)()=_malloc_alloc_oom_handler;rn _malloc_alloc_oom_handler=f;rn return (old);rn rnrn哪位大侠 把上面的这个东西详细的解释解释呀 既然 无参数 f 又是怎么调用的啊 怎么传递的 顺便说说这个东东如果在类外定义式是什么样的啊 rnrn谢谢了
typedef void (CCmdTaget::*AFX_PMSG)(void)
typedef <em>void</em> (CCmdTaget::*AFX_PMSG)(<em>void</em>) rn解释为定义了一个指向CCmdTaget类的一个成员函数的指针,AFX_PMSG,今后AFX_PMSG可以指向CCmdTaget类的一个成员函数rn那么编译系统对typedef <em>void</em> (CCmdTaget::*AFX_PMSG)(<em>void</em>) 是如何解释的?
(void*)0和(void)0的区别
编译器TC20,代码如下rnint main(<em>void</em>)rnrn (<em>void</em>)0;rn (<em>void</em>*)0;rn 0;rn 2;rn return;rnrn编译后,rn(<em>void</em>*)0;rn0;rn2;rn分别给出三个同样的warning:“this code has no effect in function main”rn而(<em>void</em>)0;没事!rn链接正常,执行也没有非法错误rn大家解释解释rn
C++参数类型空/void/void *
1. <em>void</em> f(){} 2. <em>void</em> f(<em>void</em>){} 3. <em>void</em> f(<em>void</em> *){} 1和2是相同的,表示test函数不接受任何参数,无论在c还是c++中如果函数不接受任意参数,2的方式书写是一种良好的习惯,3表示test函数接受一个指针类型的参数,无论是什么指针,只要是指针就可以传入
【漫谈】 Java 中的 Void 和 void
Java 中,大家对 <em>void</em> 应该是相当熟悉了。它表示“空”,所有无返回值的方法都使用它表示返回类型。 public static <em>void</em> main(String[] args) { // ... } <em>void</em> 是一种基本数据类型。 而 Void 是 <em>void</em> 封装类型,API 上称其为“占位符(placeholder)”。 看起来,Void 之于 <em>void</em> 类似于 Integer 之于 ...
求助关于void*与void**的区别
最近看代码,有<em>void</em>这样的实现rntypedef struct LST_Trnrn HI_VOID **first;rn HI_VOID **last;rnLST_T; /* Anonymous */rnrn#ifndef LST_NULLrn#define LST_NULL ((<em>void</em> *)0)rn#endifrnrnrn<em>void</em>rnLST_init(LST_T * list)rnrn list->first = LST_NULL;rn list->last = LST_NULL;rnrnrnrn<em>void</em>rnLST_add(LST_T * list, <em>void</em> *item)rnrn if (list->first == LST_NULL) rn list->first = item;rn list->last = item;rn else rn *(list->last) = item; /* link to last item */rn list->last = item; /* update tail pointer */rn rn *((<em>void</em> **) item) = LST_NULL; /* terminate list */rnrnrnitem的第一个成员通常是 <em>void</em>** link类型rn想问一下<em>void</em>*与<em>void</em>**应该怎么样理解呢?是都只理解为地址就可以了吗?
typedef void (*Fun)(void);什么意思??
typedef <em>void</em> (*Fun)(<em>void</em>);什么意思??
!有关void和类Void的问题!
我想给函数传一个<em>void</em>型的参数,可是总报错!!气死了!rn但我把<em>void</em>换成Void的就成,那位高手能解释一下为什么???rn<em>void</em>不是基本类型么???rn
void WINAPI与WINAPI void的区别
在VC++ 中为什么在定义函数的时候rn<em>void</em> WINAPI Fun() ; 可以正常编译通过,rn但是写作 WINAPI <em>void</em> Fun() ;的时候虽然可以通过,但是会报警rnrn而如果在borlande c++ 中这两种写法都是可以正常编译通过的rnrn为什么会有这样的差别?rn请<em>高人</em><em>指教</em>,谢谢!
高手请指教:typedef void (* PFNNOTIFY)(void * pData)
typedef <em>void</em> (* PFNNOTIFY)(<em>void</em> * pData)rn这个怎么讲
请教: void和(void)有什么区别?
知道多少说多少?
请教 typedef void (*pdTASK_CODE)( void * )
typedef <em>void</em> (*pdTASK_CODE)( <em>void</em> * );rn哪位给解释一下这条语句是什么意思啊?多谢rn
void *buf的void如何用?
TC2.0库函数:int write(int handle, <em>void</em> *buf, unsigned len)rn里面的<em>void</em>是什么意思?我记得好像是可以把任意类型的指针传进来。不知道是不是?
为什么是int mian(void),而不是void mian(void)?
C/C++ 小误区:<em>void</em> main() 这是基于我们学校老师一直使用<em>void</em> main(),而发的感慨,大一学习C语言时,我就在想,老师上课演示的为什么一直用<em>void</em> main(),而不是int main()呢?不为了偷懒?还是习惯性的语句呢?在查阅了部分大牛的博客,翻阅了C Primer Plus和C++ Primer Plus这两本圣经级别的书本之后,得出以下结论(有一部分是别人的结论,...
如何把 int (__stdcall *(void))(void) 转换成 int (__stdcall *)(void)
或者说如何写一个int (__stdcall *)(<em>void</em>)的自定义函数
static void setup_signals __P((void)); 这个__P((void))是什么意思?
在linux的代码中,经常看到static <em>void</em> setup_signals __P((<em>void</em>));这样的申明,在这里的__P((<em>void</em>))是什么意思?请高手赐教。thanks
void main() 和 void main(void) 有何区别?
新手上路, 请多关照.
typedef void (zmq_free_fn) (void *data, void *hint);是什么意思?
如题:rntypedef <em>void</em> (zmq_free_fn) (<em>void</em> *data, <em>void</em> *hint);rnzmq_free_fn *ffn;rnrn请教怎么判断zmq_free_fn的类型?
__fastcall 与void __fastcall 有void与没有void有什么区别
__fastcall 与<em>void</em> __fastcall 有<em>void</em>与没有<em>void</em>有什么区别
void aaaa()和void aaaa(void)有区别吗?
<em>void</em> aaaa()和<em>void</em> aaaa(<em>void</em>)有区别吗?
void *memcpy(void *dest,const void *src,size_t count);的问题
看到一本书上有段话是这样说的:rn “当使用memcpy这个函数把比如CString等一些类型的数据从变量考入到内存时,函数仅仅保存指向这些数据的指针。如果将这些类型的数据从内存拷贝到剪贴板上时,实质上就是将内存中存放的关于数据的指针(即地址)拷入到了剪贴板上,从而剪贴板上保存的只是指向这些数据类型的指针。。。。”rn 鄙人不才,没有搞懂作者的意思,按照作者的说法,不宜把CString类型的数据拷到剪贴板上,是因为这样memcpy保存的是指向这些数据的指针。我想问一下为什么是指针呢?dest指向的内存里不就是拷贝的cstring变量的内容吗?
大喝一声!请问 void msg(void)与void msg()有什么区别?
如题
void* fnptr; (void *)fnptr; void (*p) (int ,int)之前的区别
如题,我在一个结构体中看到了据说是函数指针的这样的声明,<em>void</em>* fnptr;,可以不要参数吗?rn然后调用这个结构体的时候在函数指针的位置上写了(<em>void</em> *)fnptr;<em>void</em>加上括号了,这样声明和第一种有什么不同,但我在书上看到函数指针的声明是如下:<em>void</em> (*p) (int ,int),求解他们之间的区别。
这个函数如何调用void des_ec(const void *i_blk, void *o_blk, void *key)
我这样用:rnint main (argc, argv)rnint argc;rnchar *argv[];rn rn int i;rn char o_blk[100];rn for(i=0;i : pointer mismatch for actual parameter 3rnError executing cl.exe.rnrnhaha.exe - 1 error(s), 1 warning(s)rn
main(),int main(),void main(),void main(void),int main(void).int main(int argc,
关于main(),int main(),<em>void</em> main(),<em>void</em> main(<em>void</em>),iint main(<em>void</em>).int main(int argc, char* argv[])......越弄越晕,求解答
void* *(void**) 值是否一样,区别。
看到这么一段代码rn这段代码这么理解。rn[code=c]rn<em>void</em>* nvptr = *(<em>void</em>**)_vptr; rnif (nvptr != _vptr) rnrn .....rnrn[/code]
extern void CDWHRP600000(void);是什么意思?
externrn<em>void</em> CDWHRP600000(<em>void</em>);rn是什么意思?
大写VOID和小写void有什么不同?
RT,谢谢!
void menu()和void main()有什么区别
RT
void __once_proxy(void)是个什么鬼?
最近在研究c++11的线程库,写了以下代码,想看看future析构时会不会抛出异常。rn结果运行失败,在packaged_task执行时就已经抛出了system error异常。rn[code=c]#include rn#include rn#include rnrnusing namespace std;rnrnint main(int argc, char **argv)rn packaged_task pt([]()this_thread::sleep_for(std::chrono::seconds(3));cout<<
void CMyApp::OnAppAbout()和void CMainFrame::OnAppAbout()
<em>void</em> CMyApp::OnAppAbout()和<em>void</em> CMainFrame::OnAppAbout()有和区别?rn我添加了一个对话框资源,加了类CDlg与之对应,在MainFrame.cpp里:rn <em>void</em> CMainFrame::OnAppAbout() rn rn CDlg aboutDlg;rn aboutDlg.DoModal();rn rn 注:OnAppAbout是框架菜单的“打开关于对话框”项。rnrn 运行后可以打开我的对话框来代替原来的关于对话框”。但是如果我在CMyApp中的rn<em>void</em> CMyApp::OnAppAbout()下将CAppAbout换为CDlg为什么不会显示我的对话框? rn而还原为CAppAbout就能显示“关于对话框”?rn感谢各位解答,先谢,分不够再加。rn
(void *)i和void *i有区别吗?
(<em>void</em> *)i和<em>void</em> *irn(int *)i和int *irn(char *)i和char *irnrn前者和后者有区别吗?
void的使用
C和C++程序编写的过程中,<em>void</em>的使用方法,对大家很有用哦
void (*)()是什么?
(<em>void</em> (*)())代表类型转换符,那rn<em>void</em> (*)()怎么表示它?什么都不是?
c++ void*
有谁能给我详细解释一下<em>void</em>* 到底是什么东西。为什么有这个东西。这个东西拿来干吗用的。
AnsiString 和void *
AnsiString 和<em>void</em> *怎么转换
void的有无
为什么在C++中定义主函数时必须为 <em>void</em> main() 而在C语言中则可以为main() 有什么区别吗??谢谢
关于void*
小弟对<em>void</em>*不甚了解,自己做了一个小程序测试了一下。visual c++ 6.0环境下。rn// testOne.hrn[code=C/C++]#ifndef TESTONE_H_rn#define TESTONE_H_rn#include rnclass testOne rnrnpublic:rn testOne()rn virtual ~testOne()rn <em>void</em> deal() std::cout<<excess();rn delete l_<em>void</em>;rn return 1;rn[/code]rnrn输出为testTwoexcess。rn小弟知道这种办法很不正规的,也没什么依据。rn我本来以为这样是会报错的,结果反而输出了,很想知道是为什么,所以请教各位大大。
void*类型转换
在C里,<em>void</em>*可以和其他任何指针(函数指针除外)相互转换而不需要类型转换的,C++里类型检查比较严格,需强制转换 在c++中,可以把<em>void</em>*想象成基类或泛型.基类可以指向子类,而子类必须强转才能指向基类
voidvoid指针
1.<em>void</em>  (1)函数返回类型:无返回值 eg.         <em>void</em> show()         {                cout         } 如果一个函数没有定义返回类型,将默认为返回类型为整型(int) eg.         show()         {             return 10;   //legal    
关于void
char*类型的形式参数不能传递给<em>void</em>*类型的实参,为什么呢?
void的用法
刚才看[code=C/C++]rn CoGetClassObject(rn const CLSID& clsid, rn DWORD dwClsContext, rn CONSERVERINFO* pServerInfo, rn const IID& iid, rn [color=#FF0000]<em>void</em> ** ppv [/color] rn rn);rn[/code]rnrn<em>void</em>* 本来就可以指向任何类型的指针,可是这里为什么这里使用<em>void</em>**?rnrn<em>void</em>*和<em>void</em>**有什么关系和区别啊?rn最好举例说明一下哦~~rn谢谢啦
void *的疑问
发表于:2009-07-05 22:36:28 楼主 rn(<em>void</em> *)p 和(* (<em>void</em> **))p p都是同一指针变量 rn问题:帮忙解释一下这两个意思 尤其是第二个 rn
关键字void
函数若定义为<em>void</em>类型,则其不返回任何值,函数中没有return语句。函数执行完后即会自动返回至调用函数的语句处继续执行程序。
void关键字
<em>void</em>修饰函数返回值和参数: 1.如果函数没有返回值,则应将其声明为<em>void</em>类型。 c语言中凡不加返回值类型的,就会被编译器作为返回整型值处理,然而好多程序员会将其误认为<em>void</em>类型。 为了避免混乱,我们在编写c程序时,对于任何函数都必须一个不漏地指定其类型,如果函数没有返回值,那么一定要声明<em>void</em>类型。即可增减程序的可读性,也是编程规范要求。还可以发挥代码的自注释功能。
C语言关键字void
这篇博客主要介绍<em>void</em>关键字。 才开始先简单介绍一下goto关键字,goto用的一般较少,其主要功能就是程序跳转,一般情况下项目的质量和goto出现的次数是成反比的,一般情况下goto语句不用。 重点分析<em>void</em>关键字。 <em>void</em>关键字一般用于修饰函数返回值或者参数。 当函数没有返回值时,则应该将函数声明为<em>void</em>类型,如果函数没有参数,则将其参数声明为<em>void</em>类型。 eg:   v
关于 void*
<em>void</em>* 型的指针 是什么概念?rn他不指向任何对象,只是表示他一个地址吗?rnrn通过类型转换后将其转换为指向具体地址的指针?rnrn<em>void</em>* p = malloc(size);rnmalloc分配一块具体的内存,同时 p 是 <em>void</em>* 型的,p指向这块分配的内存吗?
any & void
Web 前端工程师课程 第13周
BYTE* void*和const void*有什么区别?
有何区别?它们之间能互相转换吗?
Win7下安装oracle 10g下载
oracle 10g发布比win7要早些,所有oracle 10g没有考虑win7环境下安装的情况。之前,我试着在win7安装,都提示无法识别的文件。经过我的一番努力,查阅了很多资料,重要找到了一个行之有效的方法,能有实现在win7环境下安装oracle 10g.希望能对广大做开发的朋友有帮助。 相关下载链接:[url=//download.csdn.net/download/comeandgo201205/4278532?utm_source=bbsseo]//download.csdn.net/download/comeandgo201205/4278532?utm_source=bbsseo[/url]
CF方框透视源码下载
CF很好用的一款源码 ,希望大家会喜欢。 相关下载链接:[url=//download.csdn.net/download/x540993130/4299681?utm_source=bbsseo]//download.csdn.net/download/x540993130/4299681?utm_source=bbsseo[/url]
发票查询软件下载
防伪税控发票查询统计系统V4.05.110117.rar 相关下载链接:[url=//download.csdn.net/download/u014054532/7028177?utm_source=bbsseo]//download.csdn.net/download/u014054532/7028177?utm_source=bbsseo[/url]
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数
我们是很有底线的