编译错误“从不兼容的指针类型分配”

时间:2014-09-10 05:13:58

标签: pointers gcc

我收到此错误:

$ gcc -Wall -g translate.c support.c scanner.c -o translate
support.c: In function ‘readTokens’:
support.c:66:18: warning: assignment from incompatible pointer type [enabled by default]
     a[count] = token;
              ^

这里是readTokens():

void
readTokens(char *fileName, char** a[])
{
FILE *fp;
char *token;
int count = 0;

fp = fopen(fileName, "r");
if (fp == 0)
    {
    fprintf(stderr,"file %s could not be opened for reading\n", fileName);
    exit(1);
    }

token = readLine(fp);
while(!feof(fp))
    {
    a[count] = token;
    ++count;
    free(token);
    token = readLine(fp);
    }

fclose(fp);
}

我问了一个类似于此前的问题,并认为我可以从回复中找出答案,但它仍然给我带来麻烦。

1 个答案:

答案 0 :(得分:0)

如果

  

a []是一个字符串数组

然后

$injector

肯定是错的,Fumu 7猜测类型的[]可能是' char *' 是对的,我。即它必须是

readTokens(char *fileName, char** a[])

- cp。调用函数readTokens(char *fileName, char *a[])