gpt4 book ai didi

c++ - 从 switch 语句调用函数我缺少什么?

转载 作者:行者123 更新时间:2023-11-28 01:16:36 25 4
gpt4 key购买 nike

开关可以调用DisplayMenuChoice函数,但任何选择都只是结束程序。

所有功能独立运行良好,我认为这与我的参数有关并从 DisplayMenuChoice 返回

void GoblinSickDays();

void DisplayCoolMessage();

int DisplayMenuGetChoice (int)

{

int menu_choice;

cout << "Please select the following menu items: \n" << endl;

cout << "1. Enter Sick days." << endl;

cout << "2. Display Something cool." << endl;

cout << "3. End program \n" << endl;

cin >> menu_choice;

}



int main()

{

int menu_choice;

DisplayMenuGetChoice(menu_choice);

switch (menu_choice)

{

case 1: GoblinSickDays();
break;

case 2: DisplayCoolMessage();
break;

}
}

在从 cin 语句输入 a 值后保持结束程序

最佳答案

对语言语法有更深入的了解可能是值得的。让我在您的代码中解释一些事情。

一个典型的函数定义如下:

returnType FunctionName(paramType paramName)
{
returnType a = value;
return a;
}

为了适合您当前的实现,函数 DisplayMenuGetChoice可能是以下内容:

int DisplayMenuGetChoice()
{
int menu_choice;
{add your main logic here}
return menu_choice;
}

将其分解为:

  • 一个名为 DisplayMenuGetChoice 的函数,可使用 DisplayMenuGetChoice() 调用
  • 返回类型为 int

改为调用 menu_choice = DisplayMenuGetChoice();在您的 main() 函数中,您将分配 menu_choiceDisplayMenuGetChoice() 返回的值.

另一种方法(这似乎是您要实现的)称为按引用传递。。参数名称以与号 (&) 为前缀以表明这一点,例如:

void DisplayMenuGetChoice(int &menu_choice)
{
{add your main logic here}
}

相比之下,这个:

  • 我们返回 void,这实际上意味着没有返回类型。
  • 我们通过引用传递一个名为 menu_choice 的整数。这绝对是您应该阅读的内容。
  • 我们不返回任何东西,因为我们直接修改 menu_choice。

现在在 main 函数中,您可以改用 DisplayMenuGetChoice(menu_choice)相反。

作为另一个小提法,通过在变量前加上一个符号作为前缀(就像您在函数调用中所做的那样),您将传递一个指向该变量的指针。这是您可能需要阅读的另一个主题。

关于c++ - 从 switch 语句调用函数我缺少什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58496897/

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