尝试使用方法调用访问方法会引发多个错误

时间:2014-04-24 16:02:04

标签: c++ class pointers methods

我正在尝试从切换菜单访问方法以显示存储在向量中的数据。但是,我不确定如何告诉案例1去接受方法调用的方法。 错误列表如下:

Error   1   error C2065: 'applicant' : undeclared identifier    
Error   2   error C2275: 'Applicant' : illegal use of this type as an expression    
Error   3   error C3861: 'viewApp': identifier not found    

以下问题是我目前正在处理的代码。

 do
    {
    std::cout << "Menu\n";
    std::cout << "\t1. View Applications\n";
    std::cout << "\t2. Record Orders\n";
    std::cout << "Enter your selection: ";
    cin >> option;

  switch (option)
    {
        case 1:
            {
                viewApp(Applicant& applicant);
            }
            break;
        case 2:
            {
                Order cO;
                cO.createOrder();
            }
        default: 
            std:cout << option << " is not a valid menu item.\n";
            std::cout << endl;
}
}
while(option !=5);

这是目前切换菜单的一小部分,我需要&#39;案例1&#39;转到下面的viewApp()方法。

int viewApp(Applicant& applicant) //can't get the switch to go to this method
{
//code
}

void Order::createOrder() //this works fine and the switch menu goes straight to it
{
//code
}

非常感谢任何帮助,非常感谢。 汤姆

1 个答案:

答案 0 :(得分:2)

在方法调用中:

viewApp(Applicant& applicant);

您重新命名参数的类型,这是不必要的(或在语言的语法中允许)。

viewApp(applicant);

如果申请人在范围内会有效,但在此之前你需要创建它:

Applicant applicant;
viewApp(applicant);

此外,您可能在编写的菜单选择代码中有错误。第二个case语句需要休息,因此它不会自动进入默认情况并始终触发未找到的&#34;菜单选项&#34;位。