Jak przekazać i wykonać funkcję anonimową jako parametr w C ++ 11?

Kod, którego szukam, jest następujący.

bool Func1(int Arg1, C++11LambdaFunc Arg2){
    if(Arg1 > 0){
        return Arg2(Arg1);
    }
}

Później będę używać tego kodu.

Func1(12, [](int D) -> bool { ... } );

questionAnswers(3)

yourAnswerToTheQuestion