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