none
大家帮我看看这个复杂类型怎么显示转换 RRS feed

  • 问题

  • 请看实例:

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    #include<malloc.h>
    
    #define MAXS 20000
    #define MAXSWORD 100
    #define MAXSP 2000
    
    char var[MAXSWORD]={NULL};
    
    int main(void)
    {
    	...
    	char (*pword[MAXSP])[MAXSWORD]={NULL};
    	...
    	pword = (char (*[])[])calloc(MAXSP*sizeof(char)); //这样显示转换类型为什么不对?
    	...
    }

    上面的定义在vs2010里面没有报错,下面使用的显示类型转换为什么报错呢?正确的应该怎么写呢?

    PS:我对char (*pword[MAXSP])[MAXSWORD]理解是指针数组元素指向一维数组首地址


    煮酒论英雄

    2012年2月20日 9:42

答案

  • for(int i =0; i < MAXSP; ++i){
      pword[i] =reinterpret_cast<char (*)[MAXSWORD]> (calloc(MAXSWORD,sizeof(char)));
     }

    麻烦把正确答案设为解答。

    2012年2月20日 10:12
    版主

全部回复