Func A调用Func B,反之亦然(为什么它不起作用)试验

时间:2015-07-29 22:42:23

标签: c++ function

我正在尝试使用C ++并尝试通过这个可爱的网站了解它的基础知识http://www.learncpp.com/

现在我只想尝试以下代码:

#include <QCoreApplication>
#include <iostream>

using namespace std;


int trollFuncyA(int x){
    x++;
    cout << "we are In A and x = " << x << endl;
    if (x > 20) return 1 ;
    cout << "we are In a1 and x = " << x << endl;
    int trollFuncyB(x);
    cout << "we are In a2 and x = " << x << endl;
    return 0;
}

int trollFuncyB(int x){
    cout << "we are In B9 and x = " << x << endl;
     x++;
     x =  x + 1;
      cout << "we are In B and x = " << x << endl;
     int  trollFuncyA(x);
      cout << "we are In B2 and x = " << x << endl;
      return 0;
}

int main()
{

    int troll = 0;

   trollFuncyA(troll );

    return 0;
}

当我尝试运行它时,我遇到了一些问题:

1。)警告:C4189:&#39; trollFuncyB&#39; :局部变量已初始化但未引用(如何解决或无法解决

2。)我希望int X加起来只有20但它只运行trollFuncyA只有一次直到函数结束,它几乎似乎忽略了trollFuncyB .....无论多么愚蠢这个节目是。是否有可能使这个运行? 我只是想在这里尝试,我知道for / while循环..我只是觉得这可以按预期运行

问候一个新人

2 个答案:

答案 0 :(得分:3)

int trollFuncyB(x);

这不会调用trollFuncyB。它声明了一个名为trollFuncyB的{​​{1}}类型的局部变量,并将其值初始化为int。你得到那个警告,因为从不使用这个局部变量。

调用这样的函数:

x

答案 1 :(得分:1)

emails = FieldList(StringField('email'), min_entries=1, max_entries=5) 相当于int trollFuncyB(x);。 它是使用int trollFuncyB = x;初始化的int类型变量的声明。

您应该将其替换为:

x