当前位置:  开发笔记 > 编程语言 > 正文

为什么带有Bool参数的函数接受String?

如何解决《为什么带有Bool参数的函数接受String?》经验,为你挑选了1个好方法。

我有一个函数接受布尔作为参数:

void func(bool a)
{
    doing something;
}

但是当我调用该函数并将字符串传递给它时:

func("false");

实际上,它只应接受。

func(false);

它接受字符串,没有任何错误。

为什么?



1> Chen OT..:

文字字符串是char指针,指针将隐式转换为bool。

空指针-> false

非空指针-> true

在这种情况下,func将从类型true为非null的“ false”字符串中接收一个值const char*

您可能需要一个解释器功能,才能从键盘输入中读取“ false”,“ 0”,“ no”等,并将其转换为程序可以理解的布尔假。

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有