Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在C++;?_C++ - Fatal编程技术网

C++ 如何在C++;?

C++ 如何在C++;?,c++,C++,代码如下: while (inDungeonRoom1 == true) { if (choice == "torch" || choice == "Torch" || choice == "pick up torch" || choice == "Pick up torch" || choice == "grab torch" || choice == "Grab torch") { torch++; 我希望能够调用函数,比如程序中任

代码如下:

while (inDungeonRoom1 == true) {

    if (choice == "torch" || choice == "Torch" || choice == "pick up torch" ||
      choice == "Pick up torch" || choice == "grab torch" ||
       choice == "Grab torch") {

          torch++;

我希望能够调用函数,比如程序中任何位置的信息,而不会干扰if语句。

您似乎正在编写游戏。您需要一种更结构化的解释播放器输入的方法——换句话说,就是解析器。自然语言解析非常困难,但是有一些足够好的解析器可以重用。我建议您仔细查看。

您可以将函数声明为
静态
(如果是成员函数),或者声明为前面提到的准版本,只需在您想要使用它的地方声明即可。然后,您可以根据需要简单地调用它

同样重要的是,使用
==
比较字符串确实不是一个好主意。如果你使用C字符串,你会想使用,或者如果你使用C++字符串,它值得一看。
编辑:更新了一些措辞,以回应Sergey的评论。

我在代码中没有看到任何函数声明、定义或调用。声明和定义在这里是你最好的朋友,我想,它们也是语言的基本部分,因此你必须以任何方式学好它们。无关的社论除外:如果(无论什么
==true)
,永远不要写
。只要写
if(
whatever
@Zack:if(whatever==true)有什么可怕的?对我来说,这似乎是一个小问题。如果任何东西返回一个非零但不等于1的值,测试将在不应该的情况下失败。@Emile:与Zack的回答不同:如果任何东西是布尔值,你将其与真值进行比较,你会得到另一个布尔值。为什么不将其与真实情况进行比较呢?如果((无论什么==真)==真)==真)等等??我们怎么知道什么时候该停下来?@Sergey:你可以,但它实际上只是
compare
的语法糖。如果使用
字符串
,我想这更像是一种风格<代码>比较
还有比
==
更灵活的优点。我第一次看到有人建议不要使用
运算符==
进行基本字符串比较。顺便问一下,你习惯用Java编写代码吗?@ereOn:对我来说,这更像是一种风格,而不是其他任何东西。我用C++比其他任何东西都多,但你说得对,我确实是在java中开始的。很可能是。。。