如何递归使用typedef?

问题描述 投票:1回答:2

我想编写一个关于一个人每个学期可以学习的课程的程序。我想定义一个名为CourseTable的数据类型,它是名为Course的结构的向量,但是在该结构中,我还有一个” prerequisites”变量,其类型为I已经决定成为CourseTable。

typedef vector<Course> CourseTable ;
struct Course
{
  ....
  CourseTable prerequisites;
};

我在放置这两个声明的任何顺序中都遇到编译错误。您对我有什么建议吗?

c++ c++11 typedef
2个回答
4
投票

尝试在结构内放置别名:


3
投票

您需要在struct Course; using CourseTable = std::vector<Course>; struct Course { CourseTable prerequisites; }; 之前转发声明Course。看起来像

© www.soinside.com 2019 - 2024. All rights reserved.