1 つの名前空間にクラスと名前付きラムダがあるとします。
namespace bla {
class X { /* ... */ };
static auto lambda = []( X param ){ /* ... */ };
}
このラムダは、インラインで宣言された関数とほぼ同等です。bla
しかし、 ADL (引数依存ルックアップ、Koenig ルックアップとも呼ばれます) を使用して名前空間に言及せずに、別の無関係な名前空間からそのラムダを呼び出すことはできますか?
namespace blub {
void f() {
bla::X x;
lambda( x ); // Does this compile?
}
}