我想编写一个关于每个人每个学期的类(class)的程序。我想定义一个名为CourseTable的数据类型,它是名为Course的结构的 vector ,但是在此结构中,我还有一个“prerequisites”变量,其类型为决定成为CourseTable。
typedef vector<Course> CourseTable ;
struct Course
{
....
CourseTable prerequisites;
};
我将这两个声明放在任何一个顺序中都会出现编译错误。您对我有什么建议吗?
最佳答案
您需要在Course
之前转发声明typedef vector<Course> CourseTable;
。看起来像
struct Course;
typedef vector<Course> CourseTable;
struct Course
{
CourseTable prerequisites;
};