今天在写程序中,遇到下面的typedef定义声明一个结构体tagStudent.如下:
typedef struct tagStudent
{
int m_nNumber;
char m_szName[20];
struct Student *m_pNext;
}Student;
结果报错,说找不到m_pNext指针。原因是这个结构体的原名是tagStudent,所以需要改成如下:
typedef struct tagStudent
{
int m_nNumber;
char m_szName[20];
struct tagStudent *m_pNext;
}Student;
这样程序就能正确运行了。
本文介绍了在使用typedef定义结构体时出现的一个常见错误:结构体成员指向自身类型的指针时未使用完整的类型名。通过一个具体的例子展示了如何正确地进行结构体的自我引用。
1658

被折叠的 条评论
为什么被折叠?



