| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 500 人关注过本帖
标题:想不明白,,,,,
取消只看楼主 加入收藏
comebaby
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2006-6-17
收藏
 问题点数:0 回复次数:2 
想不明白,,,,,

请帮我决解一下,thank!!!




namespace Lexer
{
enum Token_value
{
NAME,NUMBER,END,PLUS='+',MINUS='-',MUL='*',DIU='/',PRINT=';',ASSIGN='=',
LP='(',RP=')'
};
Token_value curr_tok;
double number_value;
string string_value;
Token_value get_token();
}

Token_value Lexer::get_token() //我使用的是VC++,为什么这里会编译不通过呢!
//而其他的函数在名字空间外又可以?
{
char ch=0;
cin>>ch;
switch(ch)
{
case 0:
return curr_tok=END;
case ';':case '*':case '/':case '+':case '-':case '(':case ')':case '=':
return curr_tok=Token_value(ch);
case '0':case '1':case '2':case '3':case '4':case '5':case '6':case '7':
case '8':case '9':case '.':
cin.putback(ch);
cin>>number_value;
return curr_tok=NUMBER;
default:
if(isalpha(ch))
{
cin.putback(ch);
cin>>string_value;
return curr_tok=NAME;
}
}
}



另外的程序也是一样
class Date
{
private:
int d,m,y;
static Date default_date;
public: //公用界面
enum Month
{
jan=1,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec
};
class Bad_date{}; //异常类
Date(int dd,Month mm,int yy);
//检查Date的函数:
int day()const;
Month month()const;
int year()const;
string string_rep()const;
void char_rep(char s[])const;
static void set_default(int dd, Month mm ,int yy);
//修改Date的函数:
Date &add_year(int n);
Date &add_month(int n);
Date &add_day(int n);
void show();
};

Month Date::month()const //老是说这里出错,我都怀疑是不是自己写错了
{
switch(m)
{
case 1:return jan;break;
case 2:return feb;break;
case 3:return mar;break;
case 4:return apr;break;
case 5:return may;break;
case 6:return jun;break;
case 7:return jul;break;
case 8:return aug;break;
case 9:return sep;break;
case 10:return oct;break;
case 11:return nov;break;
case 12:return dec;break;
default:
throw Bad_date();break;
}
}

搜索更多相关主题的帖子: color double 
2007-01-01 08:02
comebaby
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2006-6-17
收藏
得分:0 

而把它们放回类或者名字空间里写,为什么有可以

namespace Lexer
{
enum Token_value
{
NAME,NUMBER,END,PLUS='+',MINUS='-',MUL='*',DIU='/',PRINT=';',ASSIGN='=',
LP='(',RP=')'
};
Token_value curr_tok;
double number_value;
string string_value;
Token_value get_token()
{
char ch=0;
cin>>ch;
switch(ch)
{
case 0:
return curr_tok=END;
case ';':case '*':case '/':case '+':case '-':case '(':case ')':case '=':
return curr_tok=Token_value(ch);
case '0':case '1':case '2':case '3':case '4':case '5':case '6':case '7':
case '8':case '9':case '.':
cin.putback(ch);
cin>>number_value;
return curr_tok=NUMBER;
default:
if(isalpha(ch))
{
cin.putback(ch);
cin>>string_value;
return curr_tok=NAME;
}
}
}
}

2007-01-01 08:04
comebaby
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2006-6-17
收藏
得分:0 
hello@hotmail.com

你的邮箱是这个不``

我已经发过去了
2007-01-01 11:49
快速回复:想不明白,,,,,
数据加载中...
 
   



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

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