
已解决问题
谷歌Never_yielding用户在2013.08.18提交了关于“欧诺编译**生warning: initialization from incompatible pointer type警告,如何去除?”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2024-12-17T15:04:20。staticvoidfn_usage(char*szArg);staticvoidfn_show_debug(char*szArg);staticvoidfn_disable_upgrade(char*szArg);staticvoidfn_test(char*szArg);staticvoidfn_dev_status(char*szArg);#defineDEF_GET_OPT(KEY,PAR**R,ARG_FLAG,DESC)\{KEY,PAR**R,ARG_FLAG,DESC}staticZConfigGetOpt_ts_Getopt_List[5]={DEF_GET_OPT('h',fn_usage,FAL**,"help"),//Line:18DEF_GET_OPT('v',fn_show_debug,FAL**,"showdebuginfo"),//Line:19DEF_GET_OPT('u',fn_disable_upgrade,FAL**,"disableupgrade"),//Line:20DEF_GET_OPT('t',fn_test,TRUE,"testarg"),//Line:21DEF_GET_OPT('w',fn_dev_status,FAL**,"disabledetectdevstatus")//Line:22};staticvoidfn_usage(char*szArg){//DoSomething}staticvoidfn_show_debug(char*szArg){//DoSomething}staticvoidfn_disable_upgrade(char*szArg){//DoSomething}staticvoidfn_test(char*szArg){//DoSomething}staticvoidfn_dev_status(char*szArg){//DoSomething}voidZConfigGetOpt(intargc,char**ar**){inti,ret,flag;charszOpts[128];char*p=szOpts;for(i=0;i<TABLE_COUNT(s_Getopt_List);i++){*p++=s_Getopt_List[i].chKey;if(s_Getopt_List[i].bArgFlag==TRUE)*p++=':';}*p='\0';while((ret=getopt(argc,ar**,szOpts))!=-1){flag=FAL**;for(i=0;i<TABLE_COUNT(s_Getopt_List);i++){if((s_Getopt_List[i].chKey==(char)ret)&&(s_Getopt_List[i].fnParser!=**LL)){s_Getopt_List[i].fnParser((s_Getopt_List[i].bArgFlag==TRUE)?optarg:**LL);flag=TRUE;bre**;}}if(flag==FAL**)fn_usage(**LL);}}编译结果:getopt.c:18:warning:initializationfromincompatiblepointertypegetopt.c:19:warning:initializationfromincompatiblepointertypegetopt.c:20:warning:initializationfromincompatiblepointertypegetopt.c:21:warning:initializationfromincompatiblepointertypegetopt.c:22:warning:initializationfromincompatiblepointertype希望大家能够帮助她。详细问题描述及疑问:staticvoidfn_usage(char*szArg);staticvoidfn_show_debug(char*szArg);staticvoidfn_disable_upgrade(char*szArg);staticvoidfn_test(char*szArg);staticvoidfn_dev_status(char*szArg);#defineDEF_GET_OPT(KEY,PAR**R,ARG_FLAG,DESC)\{KEY,PAR**R,ARG_FLAG,DESC}staticZConfigGetOpt_ts_Getopt_List[5]={DEF_GET_OPT('h',fn_usage,FAL**,"help"),//Line:18DEF_GET_OPT('v',fn_show_debug,FAL**,"showdebuginfo"),//Line:19DEF_GET_OPT('u',fn_disable_upgrade,FAL**,"disableupgrade"),//Line:20DEF_GET_OPT('t',fn_test,TRUE,"testarg"),//Line:21DEF_GET_OPT('w',fn_dev_status,FAL**,"disabledetectdevstatus")//Line:22};staticvoidfn_usage(char*szArg){//DoSomething}staticvoidfn_show_debug(char*szArg){//DoSomething}staticvoidfn_disable_upgrade(char*szArg){//DoSomething}staticvoidfn_test(char*szArg){//DoSomething}staticvoidfn_dev_status(char*szArg){//DoSomething}voidZConfigGetOpt(intargc,char**ar**){inti,ret,flag;charszOpts[128];char*p=szOpts;for(i=0;i<TABLE_COUNT(s_Getopt_List);i++){*p++=s_Getopt_List[i].chKey;if(s_Getopt_List[i].bArgFlag==TRUE)*p++=':';}*p='\0';while((ret=getopt(argc,ar**,szOpts))!=-1){flag=FAL**;for(i=0;i<TABLE_COUNT(s_Getopt_List);i++){if((s_Getopt_List[i].chKey==(char)ret)&&(s_Getopt_List[i].fnParser!=**LL)){s_Getopt_List[i].fnParser((s_Getopt_List[i].bArgFlag==TRUE)?optarg:**LL);flag=TRUE;bre**;}}if(flag==FAL**)fn_usage(**LL);}}编译结果:getopt.c:18:warning:initializationfromincompatiblepointertypegetopt.c:19:warning:initializationfromincompatiblepointertypegetopt.c:20:warning:initializationfromincompatiblepointertypegetopt.c:21:warning:initializationfromincompatiblepointertypegetopt.c:22:warning:initializationfromincompatiblepointertype期待您的答案,真心佩服你,谢谢 !