GCC 3.4.5 (MinGW version) produces a warning: parameter has incomplete type for line 2 of the following C code:
struct s;
typedef void (* func_t)(struct s _this);
struct s { func_t method; int dummy_member; };
Is there a way to fix this (or at least hide the warning) without changing the method argument's signature to (struct s *)?
Note: As to why something like this would be useful: I'm currently tinkering with an object-oriented framework; 'method' is an entry in a dispatch table and because of the particular design of the framework, it makes sense to pass '_this' by value and not by reference (as it is usually done)...