0

所以老实说,我不知道我的代码有什么问题。任何建议都会有所帮助。查看我评论的代码部分(朝向中间)。计算机给了我一个错误,说应该是“;”。支架有问题,或者我在其他地方搞砸了,只是找不到。

//Experiment2
//Creating functions and recalling them.
#include <iostream>
using namespace std;

void a()
{
cout<<"You try running but trip and fall and the crazy man kills you!!!!                     HAAHAHAHHAHA.";
}


void b()
{
cout<<"You stop drop and roll and the crazy man is confused by this and leaves you alone!";
}

void c()
{
cout<<"you try fighting the man but end up losing sorry!";
}




int main()
{
int a;
int b;
int c;
int d;
a=1;
b=2;
c=3;

cout<< "Once upon a time you was walking to school,\n";
cout<< " when all of the sudden some crazy guy comes running at you!!!!"<<endl;
cout<< " (This is the begining of your interactive story)"<<endl;
cout<< "Enter in the number according to what you want to do.\n";
cout<< " 1: run away, 2:stop drop and roll, or 3: fight the man."<<endl;
cin>>d;
void checkd()
//i dont know whats wrong with the bracket! the computer gives me an error saying expected a";"
{
    if(d==1)

    {
        void a();
    }

    if(d==2)

    {
        void b();
    }

    if(d==3)

    {
        void c();
    }
}
}
4

1 回答 1

1

您不能在另一个函数中定义一个函数。您在函数checkd()内部定义了一个main函数。

将函数体移到外部,main然后从以下位置调用函数main

checkd(d);

可能,您还希望函数采用它需要比较的参数。

还,

void a();

不调用函数a()它只是声明函数,调用你需要的函数:

a();

void checkd(int d)

{
    if(d==1)

    {
        a();
    }

    if(d==2)

    {
        b();
    }

    if(d==3)
    {
        c();
    }
}
int main()
{
    ....
    ....
    cout<< " 1: run away, 2:stop drop and roll, or 3: fight the man."<<endl;
    cin>>d;
    checkd();

    return 0;
}
于 2013-01-04T09:10:36.260 回答