How to cast a char ptr to an array (to prevent warning, it does work)
/* testarray.c - to test compile warnings/errors */
/* "warning: passing arg1 from incompatible type" */
/* - by Owen Townsend, UV Software, Aug 25/2008 */
/* - original program was 20,000 lines (uvcopy.c) */
/* so I wrote this small test program to experiment*/
/* I was trying to pass a char ptr to a function which expects an array ptr*/
/* I was getting warning "passing arg1 from incompatible pointer type" */
/* note - program works OK, but I would like to eliminate the warning msg */
/* - I tried cast (char[][100]) but get "error: cast specifies array type" */
/* This test program written to investigate problem */
/* - here are warnings/errors from this test program */
/* 34: warning: passing arg1 of 'wordsep1' from incompatible pointer type*/
/* 36: error: cast specifies array type */
/* 38: error: cast specifies array type */
/* 40: warning: passing arg1 of 'wordsep1' from incompatible pointer type*/
char line[1000]; /* string to be split into words array */
char words[9][100]; /* words isolated from line */
char words2[1000]; /* words declared as an area vs array */
char *(words2p[9][100]); /* ptr to array of 100 elements */
/* declare prototype for wordsep1() function */
int wordsep1(char words[][100], char *input, int max, short bits);
int main (int argc, char *argv[])
{
wordsep1(words,line,9,0x03); /*32 <-- OK (no warning or error) */
wordsep1(words2,line,9,0x03); /*34 warning: arg1 incompatible type */
wordsep1((char[][100])words2,line,9,0x03); /*36 error: cast array type */
words2p = (char[][100])&(words2[0][0]); /*38 error: cast array type */
wordsep1(words2p,line,9,0x03); /*40 warning: arg1 incompatible type */
return(0);
}
/*-------------------------- wordsep1 ----------------------------*/
/* separate input string into array of words */
int wordsep1(char words[][100], char *input, int max, short bits)
{
return(1);
}
|
Recent comments
16 hours 12 min ago
19 hours 8 min ago
20 hours 22 min ago
21 hours 45 min ago
23 hours 23 min ago
1 day 52 min ago
1 day 2 hours ago
1 day 18 hours ago
1 day 18 hours ago
1 day 22 hours ago