免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1583 | 回复: 3
打印 上一主题 下一主题

菜鸟提问!!高手近来帮忙解答一下!谢谢! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-01-04 19:35 |只看该作者 |倒序浏览
请高手看一下以下代码,很简单的,可是为什么我编译之后会有3个提示呢?提示如下:
Compiling...
Cpp1.cpp
C:\Documents and Settings\aministrator\桌面\Cpp1.cpp(2 : warning C4101: 'string' : unreferenced local variable
C:\Documents and Settings\aministrator\桌面\Cpp1.cpp(29) : warning C4101: 'intptr' : unreferenced local variable
C:\Documents and Settings\aministrator\桌面\Cpp1.cpp(32) : warning C4700: local variable 'password' used without having been initialized
Linking...

Cpp1.exe - 0 error(s), 3 warning(s)
兄弟们可以告诉我一下,为什么会出现这3个提示吗?怎么解决呢?小弟在这谢谢啦

#include "iostream.h"
#include "stdio.h"
#include "stdlib.h"
class group_1
{
public:
void find(void);
};
group_1 everyone;
class group_2
{
public:
void add(void);
void modify(void);
};
group_2 select_few;
class group_3
{
public:
void add(void);
void modify(void);
void remove(void);
};
group_3 heath;
void main(void)
{
        char string[2],option='\0';
        int i,*intptr;
        char *password,*charptr;
        cout<<"please enter password: ";
        charptr=gets(password);
        i=atoi(charptr);
        while(option!='q')
        {
                cout<<"please enter option:\n";
                cout<<"<a>dd,<f>ind,<m>odify,<d>elete or <q>uit:";
                cin>>option;
                switch(option) {
                case 'a':
                        if(i==10||i==20)
                        {
                                select_few.add();
                        }
                        else if (i=99)
                        {
                                heath.add();
                        }
                        else
                                cout<<"permission denied!\n";
                        break;
                case 'f':
                        everyone.find();
                break;
                case 'm':
                        if(i==10||i==20)
                        {
                                select_few.modify();
                        }
                        else if (i==99)
                        {
                                heath.modify();
                        }
                        else
                                cout<<"permission denied!\n";
                        break;
                case 'd':
                        if(i==99)
                                heath.remove();
                        else
                                cout <<"permission denied!\n";
                        break;
                case 'q':
                        break;
                default:
                        cout<<"invalid input ! please re-enter. \n";
                }
        }
}
void group_1::find(void)
{
        cout<<"inside group1 find() \n";
}
void group_2::add(void)
{
        cout<<"inside group2 add() \n";
}
void group_2::modify(void)
{
        cout<<"inside group2 modify() \n";
}
void group_3::add(void)
{
        cout<<"inside group3 add() \n";
}
void group_3::modify(void)
{
        cout<<"inside group3 modify() \n";
}
void group_3::remove(void)
{
        cout<<"inside group3 remove() \n";
}

论坛徽章:
0
2 [报告]
发表于 2006-01-04 21:03 |只看该作者
呵呵,前两个警告是因为你声明了那两个变量,但在程序中从没使用过它们。把它们去掉就OK了,不去也不会有太大的问题。
但后一个问题就严重了,你在下面的这段代码中:
     char *password,*charptr;   //声明指针
        cout<<"please enter password: ";
        charptr=gets(password);   //接收键盘输入
声明的这个 字符指针password并没有初始化,就直接用它来接收从键盘输入的字符,指针password指向的内存地址是不可知的。可以把password改成字符数组char password[256];或是先分配内存password = new char[256];  这里的256可以随你要求输入的内容长短变化,但至少要比最大输入长度大1。

论坛徽章:
0
3 [报告]
发表于 2006-01-04 21:07 |只看该作者
标题很礼貌,还说谢谢了。但这样子人家还是不了解帖子大致内容的,不如把问题的大概意思写作标题。呵呵

论坛徽章:
0
4 [报告]
发表于 2006-01-04 21:20 |只看该作者
原帖由 bigapple2008 于 2006-1-4 21:07 发表
标题很礼貌,还说谢谢了。但这样子人家还是不了解帖子大致内容的,不如把问题的大概意思写作标题。呵呵

谢谢提醒,我知道了!



谢谢2楼的解释,很清楚,我知道了,万分谢谢!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP