#include <iostream>
int globalVar = 100;
void outerFunction() {
int outerVar = 10;
auto innerFunction = [&]() {
int innerVar = 1;
globalVar = 200;
std::cout << "In innerFunction: "
<< "globalVar = " << globalVar << ", "
<< "outerVar = " << outerVar << ", "
<< "innerVar = " << innerVar << ", "
<< "globalVar = " << globalVar << std::endl;
};
innerFunction();
std::cout << "In outerFunction: "
<< "globalVar = " << globalVar << ", "
<< "outerVar = " << outerVar << std::endl;
}
int main() {
outerFunction();
std::cout << "In main: globalVar = " << globalVar << std::endl;
return 0;
}