On Mon, Sep 14, 2020 at 01:54:14PM +0200, John Darrington wrote:
> On Sun, Sep 13, 2020 at 11:11:55PM +0200, Bruno Haible wrote:
>      
>      
>      The workaround is simple: Make sure that you include the corresponding 
> file -
>      here <unistd.h> - before the struct definition. That is, in this case,
>      at the beginning of ags/object/ags_application_context.h, add
>        #include <unistd.h>
>      
> 
> I don't think this will solve all problems.
> 
> For example if you have:
> 
> 
> 
> #include <unistd.h>
> 
> struct foo
> {
>         void write (char *);
> };
> 
> func (struct foo *f)
> {
>    f->write ("hello");
> }
> 
> 
> 
> then one will get an error similar to "rpl_write is not a member of foo"
Why?  The following is a valid program:

    #include <unistd.h>

    struct foo
    {
            void rpl_write (char *);
    };

    func (struct foo *f)
    {
       f->rpl_write ("hello");
    }

Reply via email to