//------------------------------------------------------------------------------
struct A
{
A(){}
A(A&&){}
A& operator=(A&&){return *this;}
void operator()(){}
private:
A(const A&);
A& operator=(const A&);
int x;
};
//------------------------------------------------------------------------------
int main()
{
A a;
std::function<void()> func(std::move(a));
}
'A :: A':クラス'A'で宣言されたプライベートメンバーにアクセスできません
参照によって何かをキャプチャしたりconst
、コピーできないラムダを作成したりできるようです。しかし、私がそうするとき、それは実際にそれをに与えるために働きstd::function
ます。