Jimson James
Jimson James

Reputation: 3317

warning C4047: '=' : 'char' differs in levels of indirection from 'char *'

What is the problem with the code shown below.

char filter[2] = {'\0'};
*filter = (char *)calloc((unsigned int)buf.st_size + 1, sizeof(unsigned char));

As per my understanding, there is no problem changing the array location right? Why I ask this is because of a warning,

Warning 1   warning C4047: '=' : 'char' differs in levels of indirection from 'char *'

Any idea?

Got it, changed the code to. Thanks @ouah

char *filter = {'\0'};
filter = (char *)calloc((unsigned int)buf.st_size + 1, sizeof(unsigned char));

Upvotes: 7

Views: 16898

Answers (1)

ouah
ouah

Reputation: 145829

*filter is a char and you are assigning it a char * value.

Upvotes: 13

Related Questions