: GenericCallback([=]{});
추론 람다 :: 기능 나는 기본적으로 내가 캡처 어떤 람 바어에서 일반적인 콜백 만들 수 있습니다 그것을 가지고 노력하고있어 <T>
다음 클래스를 사용하여 :
template<typename T> class GenericCallback : public Callback {
public:
GenericCallback(const std::function<T>& f) {
mFunction = f;
}
void Call() override {
mFunction();
}
std::function<T> mFunction;
};
문제는 내가 템플릿 인자를 정의 할 것을 기대하고있다. 일반적으로 아무런 문제가 없지만 어떤 캡처를 사용하면 [=]
을 사용하든 특정 인수를 사용하든 관계없이이 유형을이 구조로 밀어 넣을 수 없게됩니다.
내 최종 목표는 나중에 지정된 조건으로이 함수를 호출하는 것입니다.
이 오류는 경우 :
int v = 5;
GenericCallback<void()>([=]{ int x = v; });
* 구체적인 예 *를 제공 할 수 있습니까? 나는 아이디어를 가지고 있지만 그럴 수 있을지 확신 할 수 없다. – Incomputable
@Incomputable'GenericCallback ([=] {});' –
글쎄, 나는 편집 가능한 것을 원했지만, 신경 쓰지 않았다. – Incomputable