Простой вопрос по C++ от новичка

Сегодня столкнулся с такой проблемой, и искал как только мог, но ничего не нашел. Либо плохо искал либо проблема настолько банальная что про нее никто и не спрашивал. Создаю новый заголовочный файл допустим "Test.h", затем создаю новый файл .cpp и называю его допустим "Test.cpp", затем создаю свою структуру допустим "struct Student", затем добавляю в файл "TestProject.cpp"(здесь находиться main()) "#include Test.h". Затем в main() пытаюсь объявить массив этих самых "Student". Весь код приведен ниже. И тогда натыкаюсь на эти ошибки: "E0070 недопустимый неполный тип"; "C2027 использование неопределенного типа Student". Интересно, что если я создаю структуру в "TestProject.cpp", то все будет работать как нужно. Что я делаю не так не понимаю. Заранее спасибо за помощь.

Файл TestProject.cpp :

#include "Test.h"
    
int main()
{
    Student* students = new Student[100];
}

Файл Test.h :

#pragma once

struct Student;

Файл Test.cpp :

#include "Test.h"

struct Student
{
    int age;
    char name[10];
};

Альтернативный(рабочий) TestProject.cpp :

struct Student
{
    int age;
    char name[10];
};

int main()
{
    Student* students = new Student[100];
}

Ответы (0 шт):