GCC 3.4.5 (версия MinGW) выдает предупреждение: параметр имеет неполный тип для строки 2 следующего кода C:
struct s;
typedef void (* func_t)(struct s _this);
struct s { func_t method; int dummy_member; };
Есть ли способ исправить это (или хотя бы скрыть предупреждение), не меняя сигнатуру аргумента метода на (struct s *)?
Примечание:
Относительно того, почему что-то подобное может быть полезным: в настоящее время я работаю с объектно-ориентированной структурой; 'method' - это запись в таблице диспетчеризации, и из-за особенностей структуры фреймворка имеет смысл передавать '_this' по значению, а не по ссылке (как обычно это делается) ...