如何在不先初始化一个C ++的情况下调用函数

时间:2019-06-25 08:05:00

标签: c++ c++11

我的问题是我已经初始化了函数mainscr(),该函数在条件调用vdetails()的情况下。但是如下面的代码所示,由于其中一个函数未在另一个函数之前初始化,因此程序无法编译。如果我将mainscr()放在vdetails()之上,mainscr将不会运行,但vdetails()会因为mainscr()之前已初始化而运行。谁能建议我如何在任何地方声明要使用的功能。

尝试使用已经包含vdetails()的标头文件,但是出现诸如include嵌套之类的错误消息。

void mainscr()
{
    stringstream foos (detamt);
    foos >> detamto;
    char flago;
    cout<<"Welcome To Maxon Bank Banking Portal"<<endl<<endl;
    cout<<"  Please Choose From the Following: "<<endl<<endl;
    cout<<"  1. View Details "<<endl<<endl; cout<<"  2. Check Balance"<<endl<<endl;
    cout<<"  3. Deposit Cash "<<endl<<endl; cout<<"  4. Withdraw Cash "<<endl<<endl;
    cout<<"  Option: ";
    cin>>flago;
    if (flago=='1')
    {
        vdetails();
    }

void vdetails()
{
   system("cls");
        cout<<"Maxon Bank Banking Portal"<<endl<<endl;
        cout<<"  "<<detacno<<endl<<endl;
        cout<<"  "<<detn<<endl<<endl;
        cout<<"  "<<detactype<<endl<<endl;
        cout<<"  AVAILABLE BALANCE: INR "<<detamto<<endl<<endl;
        Cont();
        system("cls");
        mainscr();
}

实际上,我试图询问用户输入的内容是否为1,这将向他们显示他们的帐户详细信息,然后返回mainscr(),如果输入内容相同,该情况将再次发生。

1 个答案:

答案 0 :(得分:2)

您需要做一个前向引用,基本上是没有主体的函数的签名。

void mainscr();
void vdetails();

将那些放在实现之上(或者在相应的标题中更好),并且您的函数彼此了解