ラムダ式が渡された側って、キャプチャの内容をチェックしたりできないのでしょうか。

例えば以下の例で、funcA()の中でfの中のthisをチェックして挙動を変えたりとか?
そういうことをしたいなら、ラムダの引数で渡したりすべきでしょうか?

#include <iostream>
class A {
public:
 void funcA(const std::function<void(int)>& f, int a) {
  f(a); // can I check 'this' (B class) in f?
 };
};
class B {
public:
 void print(int b) {
  A objA;
  objA.funcA([this](int i) { std::cout << "val = " << i << "\n"; }, b);
 }
};
int main(void) {
 B objB;
 objB.print(2);
}