Задача Bounty: Итак, эти два Foo
- это не одно и то же. Хорошо. Вторая форма предоставляется в библиотеке. Как мне переслать-объявить его с учетом того, что я не могу его изменить?
Я всегда думал, что C и С++ допускают повторные объявления при условии, что повторных определений не было. Затем я столкнулся с этой проблемой при попытке написать код на С++, который расширяет библиотеку C.
struct Foo;
typedef struct {} Foo;
Это приводит к следующей ошибке:
'struct Foo' имеет предыдущее объявление как 'struct Foo'
Я хочу переслать-объявить, черт! Что здесь не так?