在循环的“ if”语句中声明变量

时间:2018-07-23 13:46:05

标签: c++

我对C ++还是很陌生,所以对代码混乱和/或问题不切实际表示歉意。基本上,我正在尝试编写一个程序,该程序可以将先前定义的变量与较新版本进行比较,并且我打算将先前的整数值保存为虚拟变量(tv),然后可以将其与较新的变量进行比较。版本,但是这需要从“ if”语句中取出旧变量,然后在同一函数中再次使用它。

我正在为ROOT宏编写此代码,但是认为它也是一个通用的C ++问题,因此我在这里询问。

总之,这可能吗?

#include <iostream>
#include <string>

using namespace std;

int n = 2;

void test1();

void test2(string *q,int *x){
    cout << *q << endl;
    cout << *x << endl;

    if (n==2){
        int tv = *x;
        n++;
        test1();
    }
    if (n>2){
        cout << "testvar = " << tv << endl;
    }
}

void test1(){
    int var = 20;
    string sar = "generic string";
    test2(&sar,&var);
}

int main(){
    test1();
}

任何评论都将受到赞赏,并在此先感谢!

1 个答案:

答案 0 :(得分:0)

尝试一下:

void test2(string *q,int *x){
    static int tv;
    cout << *q << endl;
    cout << *x << endl;

    if (n==2){
        tv = *x;
        n++;
        test1();
    }
    if (n>2){
        cout << "testvar = " << tv << endl;
    }
}