Я пытался спросить раньше, но я не очень ясно, поэтому я переспрашиваю.
Я хочу иметь переменную, которая зависит от значения другой переменной, например, b в этом примере:
int main(){
int a;
dependent int b=a+1; //I'm just making this up
a=3;
cout << b; //prints 4
a=4;
cout << b; //prints 5
}
Конечно, этого нет в C ++, но это то, что я хочу.
Поэтому вместо этого я попытался сделать функцию:
int main(){
int a;
int b(){ return a+1; } //error
a=3;
cout << b(); //would print 4 if C++ allowed nested functions
a=4;
cout << b(); //would print 5 if C++ allowed nested functions
}
Выше не работает, потому что C ++ не допускает вложенные функции.
Я могу создавать функции только вне main (), например:
int b(){
return a+1; //doesn't work because a is not in scope
}
int main(){
int a;
a=3;
cout << b();
a=4;
cout << b();
}
Но это не работает, потому что a не находится в той же области, что и b (), поэтому мне придется передать a в качестве параметра, и я не хочу этого делать.
Есть ли какие-нибудь хитрости, чтобы получить что-то похожее на зависимую переменную, работающую в C ++?