C++警告warning C4700: 使用了未初始化的局部变量“s”

代码如下,问题:在使用strings;程序不会提示错误,运行也没有问题,但是我改成chars的话就会出现一条警告:warningC4700:使用了未初始化的局部变量“s”... 代码如下,问题:在使用string s;程序不会提示错误,运行也没有问题,但是我改成char s的话就会出现一条警告:warning C4700: 使用了未初始化的局部变量“s”;而且调试的时候,到了s=temp.s+s;也会跳错。这是为什么呢?难道在用string s时就会有默认值吗?
想知道这是不是C++的某种机制,或者是我理解的不够?
展开
 我来答
人生做回自己
推荐于2017-09-21 · TA获得超过423个赞
知道小有建树答主
回答量:722
采纳率:100%
帮助的人:518万
展开全部
string s默认s为空字符串(构造函数默认的),当然可以。char局部变量的值未初始化是随机数,因此是不允许的。
匿名用户
2014-12-04
展开全部
string 是个类类型,有构造函数。
追问
那char就不是类型吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式