谁知道这个程序为什么不输出呀please

问题遇到的现象和发生背景

#include<iostream>
#include<string.h>
using namespace std;
struct hero {
    string name;
    int age;
    string sex;

};
void dayin(struct hero arry[],int len)
{
    cout << "排序之前" << endl;
    int i, j;
    for (i = 0; i < len; i++)
    {
        cout << "姓名;"<<arry[i].name <<"年龄;"<< arry[i].age <<"性别;" <<arry[i].sex << endl;
    }
    
}
int main()
{
    struct hero arry[5] = {
        {"张三",47,"男"},
        {"貂蝉",19,"女"},
        {"刘备",37,"男"},
        {"王五",34,"男"},
        {"美女",21,"女"},
    };
    int len;
     len = sizeof(arry) / sizeof(arry[0]);
    void dayin(struct hero arry[], int len);
    system("pause");
    return 0;
}
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果


你都没调用函数,输出啥啊

#include<iostream>
#include<string.h>
using namespace std;
struct hero {
    string name;
    int age;
    string sex;
 
};
void dayin(struct hero arry[],int len)
{
    cout << "排序之前" << endl;
    int i, j;
    for (i = 0; i < len; i++)
    {
        cout << "姓名;"<<arry[i].name <<"年龄;"<< arry[i].age <<"性别;" <<arry[i].sex << endl;
    }
    
}
int main()
{
    struct hero arry[5] = {
        {"张三",47,"男"},
        {"貂蝉",19,"女"},
        {"刘备",37,"男"},
        {"王五",34,"男"},
        {"美女",21,"女"},
    };
    int len;
    len = sizeof(arry) / sizeof(arry[0]);
    dayin(arry,len);
    system("pause");
    return 0;
}