Вы объявили функцию, у которой есть входная переменная типа, который компилятор не знает, когда анализирует ее. т.е. определение структуры следует за объявлением вашей функции.
Поэтому, пожалуйста, сделайте предварительное объявление структуры, когда вы хотите скомпилировать такой код.
В компьютерном программировании предварительная декларация - это декларация
идентификатора (обозначающего объект, такой как тип, переменная или
функция), для которой программист еще не дал полного определения.
Эта ссылка содержит хорошую статью, когда полные объявления не требуются.