https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113563

--- Comment #10 from Patrick Palka <ppalka at gcc dot gnu.org> ---
(In reply to Patrick Palka from comment #9)
> *** Bug 116897 has been marked as a duplicate of this bug. ***
struct A {
  int   i = 42;
  int foo() {
    return [this](this auto &&self) { auto p = &i; return *p; }();
  }
};

] clang++ -std=gnu++23 zc9.cc -o zc9
] g++ -std=gnu++23 zc9.cc -o zc9
zc9.cc: In lambda function:
zc9.cc:4:49: error: invalid use of non-static data member ‘A::i’
    4 |     return [this](this auto &&self) { auto p = &i; return *p; }();
      |                                                 ^
zc9.cc:2:9: note: declared here
    2 |   int   i = 42;
      |         ^
zc9.cc: In member function ‘int A::foo()’:
zc9.cc:4:64: error: void value not ignored as it ought to be
    4 |     return [this](this auto &&self) { auto p = &i; return *p; }();
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~

Reply via email to