p13.cpp 721 B

12345678910111213141516
  1. // RUN: %clang_cc1 -std=c++11 %s -Wunused -verify
  2. void f2() {
  3. int i = 1;
  4. void g1(int = ([i]{ return i; })()); // expected-error{{lambda expression in default argument cannot capture any entity}}
  5. void g2(int = ([i]{ return 0; })()); // expected-error{{lambda expression in default argument cannot capture any entity}}
  6. void g3(int = ([=]{ return i; })()); // expected-error{{lambda expression in default argument cannot capture any entity}}
  7. void g4(int = ([=]{ return 0; })());
  8. void g5(int = ([]{ return sizeof i; })());
  9. }
  10. namespace lambda_in_default_args {
  11. int f(int = [] () -> int { int n; return ++n; } ());
  12. template<typename T> T g(T = [] () -> T { T n; return ++n; } ());
  13. int k = f() + g<int>();
  14. }