Daniel Reuter <[EMAIL PROTECTED]> writes:
DR> Thanks to all, who responded up to now. I think I'll give some more
DR> information, as I still don't understand, why the warning 
DR> main.c:158: assignment makes pointer from integer without a cast
DR> is generated in my case:
DR> 
DR> I have the following (among some other function and structure 
DR> declarations) in my program-header-file 'bet.h':
DR> 
DR>     #include <stdlib.h>
DR>     #include <stdio.h>
DR> 
DR>     struct provided_data{
DR>     };
DR> 
DR>     struct provided_data *read_data(char *);
DR> 
DR> 
DR> This function is in file 'scanner.c' and does the following:
DR> 
DR>     #include "bet.h"
DR> 
DR>     struct provided_data *read_data(char *input_file_name)
DR>     {
DR>     }
DR> 
DR> 
DR> In file main.c I have the following:
DR> 
DR>     #include "bet.h"
DR> 
DR>     int main(int argc, char **argv)
DR>     {
DR>             struct provided_data *input_data;
DR>             
DR> ---> input_data=read_data(input_file_name);
DR>     }

Do you include a prototype for read_data() in main.c?  This would
probably be done by creating 'scanner.h', and putting a prototype
  struct provided_data *read_data(char *input_file_name);
in there.  If there's no prototype, then the C compiler will, for
historical reasons, assume that the function is actually
  int read_data(...);
and so you're then trying to assign the result of read_data
(implicitly an int) to input_data (a pointer).

-- 
David Maze             [EMAIL PROTECTED]          http://www.mit.edu/~dmaze/
"Theoretical politics is interesting.  Politicking should be illegal."
        -- Abra Mitchell

Reply via email to