gpt4 book ai didi

c++ - 错误 : Label "foo" used but not defined

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:07:24 26 4
gpt4 key购买 nike

所以我在使用一些 C++ 代码时遇到了前面提到的错误,代码看起来有点像这样:

#include <iostream>
using namespace std;

char foodstuffs;

void fruit()
{
cin>>foodstuffs;
switch(foodstuffs)
{
case 'a': goto foo; break;
case 'b': goto fooo; break;
}
}

int main()
{
cout<<"What do you want to eat? (a/b)";
fruit();
foo: cout<<"You eat an apple.";
fooo: cout<<"You eat a banana.";
}

确切的代码要复杂得多,但这只是为了向您展示我遇到的错误。

现在我意识到每个人都出于某种原因鄙视“goto”语句,但我的实际代码中充满了太多的 goto,以至于我真的没有时间/耐心回去更改它们。此外,我是一名新手程序员,我发现 goto 和标签非常易于使用。

我的问题是如何预定义这些标签,以便函数 fruit() 知道它们是什么?此外,我需要在不将标签移出 main 函数的情况下执行此操作。

最佳答案

goto 语句只能转到本地定义的标签,不能跳转到其他函数。

所以main中的标签不会被引用,fruit中的goto语句也不会找到标签。

关于c++ - 错误 : Label "foo" used but not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16852272/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com