C语言报错 no match 'operator'

我在编译C语言函数对结构体赋值 在最后输出过程中遇到了如下问题 请求解答一下 十分感谢!

img

img

img

你定义的结构体ro不是结构体数组,不能使用ro[],我想你应该是想使用结构体中的name数组,那你可以这么写
ro.name[n]

#include <stdio.h>

struct Roll
{
    char name[100];
    int age;
};

int main()
{
    void InputRoll(struct Roll pro[], int i);
    void OutputRoll(struct Roll ro[], int a);
    int len;
    printf("请输入角色个数:");
    scanf("%d", &len);
    
    struct Roll ro[len], * p = ro;
    
    InputRoll(p, len);
    OutputRoll(p, len);
    
    return 0;
}

void InputRoll(struct Roll ro[], int len)
{
    int i;
    for(i=0; i<len; i++)
    {
        printf("请输入角色信息:\n");
        printf("name = ");
        scanf("%s", &ro[i].name);
        printf("age = ");
        scanf("%d", &ro[i].age);
    }
}

void OutputRoll(struct Roll ro[], int len)
{
    int i;
    for(i=0; i<len; i++)
    {
        printf("第%d个角色的信息:\n", i+1);
        printf("age = %d\n", ro[i].age);
        printf("name = %s\n", ro[i].name);
    }
}