coding一段代码,发现在C++类中定义结构体有一些问题。
开始是这样
class Student
{
private:
typedef struct
{
string _courseNumber;
double _score;
struct _courseList next;
}* _courseList;
private:
string _name;
string _student_ID;
string _student_grade;
_courseList _course;
public:
......
}
并没有什么问题,happy。。。
但在码class的实现时,出现了问题:
没想明白问题出在哪儿,询问度娘,度娘的解释是:
因为结构体定义中出现了struct _courseList next;但 _courseList 这个名字却是在下一行出现的,于是把编译器弄懵了。改成这样
class Student
{
private:
typedef struct _course_
{
<span style="white-space:pre"> </span>string _courseNumber;
double _score;
struct _course_ *next;
}* _courseList;
问题解决了。