Obtain the output as 18

Which of these lambda expressions can be used in place XXX to produce the output as 18?

#include 
 
int main()
{
 using namespace std;
 
 XXX
 
 cout << result << endl;
}
Options

1.int result = [](int x) { return [](int y) { return y * 3; }(x) + 3; }(5);

2.int result = [](int x) { (int y) { return y * 3; }(x) + 3; }(5);

3.Either 1 or 2

4.Neither 1 nor 2

Related Posts