如何使用void函数在C ++中使用另一个void函数?

时间:2015-03-19 03:50:11

标签: c++

我将'(RE)'放入void F(),但我的程序遇到了一个有趣的问题。当我将(RE)放入我的F()空洞时,我的void RE()编码在void F()上方,void RE()将如何知道void F() }? Visual Studio不会让我以这种方式运行我的程序。我认为它们在main()之外被宣布为无效函数,所以我认为它们可以在任何地方工作。

.
.
.
.
.
void F()
{
    if (nextChar() == 'a')
        match('a');
    else if (nextChar() == 'b')
        match('b');
    else if (nextChar() == 'c')
        match('c');
    else if (nextChar() == 'd')
        match('d');
    else if (nextChar() == 'a')
    {
        match('(');
        RE();      //HOW????
        match(')');
    }
}

void RE()
{
    if (nextChar() == 'a')
    {
        RE();
        RE();
    }
    else if (nextChar() == 'a')
    {
        RE();
        match('|');
        RE();
    }
    else if (nextChar() == 'a')
    {
        RE();
        match('*');
    }
    else if (nextChar() == 'a')
        F();                   //How????
}


int main()

2 个答案:

答案 0 :(得分:3)

功能可以包含declarationsdefinitions。为了能够调用函数,您需要的所有代码都是能够看到声明。

因此,请为REF提供声明,然后定义它们。

void RE();
void F();

//RE and F definitions here.

答案 1 :(得分:1)

RE()之前加上F()声明

void RE();

void F()
{
    ...
}

void RE() 
{
    ...
}