C++中 下面的代码运行后为什么在输入的时候只能输入一个字符?新手求解~~~

[复制链接]
查看11 | 回复1 | 2010-10-20 03:46:54 | 显示全部楼层 |阅读模式
#include
using namespace std;
class Employee
{
private:
static char name;
static char address;
static char city;
staticint zip;
public:
void change_name();
void display();
};
void Employee::display()
{
cout>name;
cout>address;
cout>city;
cout>zip;
cout>name;
cout>x;
switch(x)
{
case 1:
fr.change_name();
break;
case 2:
exit;
break;
default:
exit;
break;
}
return;
}
1L。那初始化的时候还是无法编译通过啊
error C2040: “name”: “char”与“char [30]”的间接寻址级别不同。
即使在初始化那里name[30]还是不行~~~
能不能编译过了再给个准确答案啊~~~谢谢了~~~

回复

使用道具 举报

千问 | 2010-10-20 03:46:54 | 显示全部楼层
这些变量,你只声明了 为 1 个 字符:static char name;static char address;static char city;所以只能输入 1个 字符。你要声明为 长度足够大的 字符串才行:char name[30];char address[60];char city[30];这样,你就可以正常输入了:cin>>name;其它变量你也查一下。int zip;// 如果是TC 编译器,要写 long int zip; 否则数值范围不够。VC++ 没问题。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行