Мой код выглядит следующим образом
#include <iostream>
#include <string>
using namespace std;
int x;
struct A
{
auto func()
{
auto test([&, &x](){cout << x << endl;});
test();
}
};
int main()
{
A a;
x = 5;
a.func();
}
Моя программа такая же, как указано выше, я скомпилировал ее с помощью следующей команды
g++ -std=c++11 ex.cpp -o ex
Однако я получаю предупреждение как следующее
ex.cpp: в функции-члене 'auto A :: func ()':
ex.cpp: 11: 19: предупреждение: захват переменной 'x' с неавтоматическим хранениемдлительность
auto test([&, &x](){cout << x << endl;});
^
ex.cpp: 6: 5: примечание: здесь объявлено «int x»
int x;
Может кто-нибудь помочьмне разрешить это?