| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2140 人关注过本帖
标题:[求助]“本地函数定义非法”&”匹配之前遇到文件结束“怎么回事?
取消只看楼主 加入收藏
summerlover
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2005-12-5
收藏
 问题点数:0 回复次数:0 
[求助]“本地函数定义非法”&”匹配之前遇到文件结束“怎么回事?

大家好,我是蔡鸟一个,问的问题可能白痴,还是希望大家能耐心大的看完,最好帮我解决了,谢谢了~~
这是我们一道数据结构的作业,书上给的算法是用C写的,我以前学的是C++,然后就把有的地方换成了C++的格式,在.NET上运行,就出现了这两个错误。。。
现看看程序吧
// 二叉树的遍历.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
#include <malloc.h>
using namespace std;

#define MaxSize 100
#define M 50

typedef struct node{
char data;
struct node * lchild , *rchild;
}BTNode, *BTREE;

BTREE CREATEBT();
void INORDER ( BTREE );
int _tmain(int argc, _TCHAR* argv[])
{
cout<<"请使用广义表的形式输入二叉树的各个结点(用@做结束大标志)\n"
<<"==========================================================\n";
INORDER(CREATEBT());
return 0;
}

BTREE CREATEBT()
{
BTREE STACK[MaxSize] , p , T = NULL;
char ch;
int flag , top = -1;
while(1){
cin>>ch;
switch(ch){
case '@' : return (T);
case '(' :STACK[++top] = p;
flag = 1;
break;
case ')' :top--;
break;
case ',' :flag = 2;
break;
default : p = (BTREE) malloc(sizeof(BTNode));
p->data = ch;
p->lchild = NULL;
p->rchild = NULL;
if (T == NULL)
T = p;
else if (flag == 1)
STACK[top]->lchild = p;
else
STACK[top]->rchild = p;
}
}
void INORDER ( BTREE T)
{
BTREE STACK[M] , p = T;
int top = -1;
if (T != NULL)
do{
while (p != NULL){
STACK[++top] = p;
p = p->lchild;
}
p = STACK[top--];
cout<<p->data<<" ---- ";
p = p->rchild;
}while( p != NULL || top != -1);
}

最后报的错是
e:\高级语言程序设计\大二\二叉树的遍历\二叉树的遍历\二叉树的遍历.cpp(56): error C2601: “INORDER” : 本地函数定义是非法的
e:\高级语言程序设计\大二\二叉树的遍历\二叉树的遍历\二叉树的遍历.cpp(70): fatal error C1075: 与左侧的 大括号“{”(位于“e:\高级语言程序设计\大二\二叉树的遍历\二叉树的遍历\二叉树的遍历.cpp(28)”)匹配之前遇到文件结束

希望哪位高手帮我解决了,不胜感激

搜索更多相关主题的帖子: 函数 定义 文件 结束 
2005-12-05 22:09
快速回复:[求助]“本地函数定义非法”&”匹配之前遇到文件结束“怎么回事?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.046986 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved