在VS2010中使用typedef为自定义的struct二叉树结点取别名,出现一个问题

a_woxinfeiyang_a 2016-06-29 03:17:06
在VS2010中使用typedef为自定义的struct二叉树结点取别名,出现一个问题,总是报错。具体代码如下:
BinaryTree.h

#ifndef _BinaryTree_h
#define _BinaryTree_h

typedef char ElemType;

typedef struct _BTNode
{
ElemType data;
struct _BTNode *left;
struct _BTNode *right;
} BTNode,*BiTree;
//typedef struct student BTNode;

#endif


Main.c

#include <stdio.h>
#include "BinaryTree.h"


void main()
{
struct _BTNode a={'M',NULL,NULL};
BTNode b={'F',NULL,NULL};
printf("%c\n",a.data);

printf("%c\n",b.data);
}


如上所示代码,如果直接使用struct _BTNode来定义一个结构体类型变量则没有问题,如果使用结构体类型的别名BTNode则会报错。报错如下图所示:

...全文
96 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ohei 2016-06-29
  • 打赏
  • 举报
回复
VS2013测试通过,楼主可以清理下工程,再重新生成试试,最好把struct去掉,如下: _BTNode a={'M',NULL,NULL}; BTNode b={'F',NULL,NULL};
小灸舞 2016-06-29
  • 打赏
  • 举报
回复
我的vs2010是可以的

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧