我对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();
}
任何评论都将受到赞赏,并在此先感谢!
答案 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;
}
}