부스트를 사용하지 않고 템플릿 매개 변수로 전달하여 멤버 함수를 호출하고 싶습니다. 여기에 내가 시도한 것을 보여주는 예가있다.객체에 C++ 멤버 함수가 적용됨
class object { void method(); }
{
object object_instance;
...
apply<object:: method>();
...
template<class F>
void apply() { F(object_instance); } // want to call object_instance.F()
}
작동하지 않는다. 그렇다면 객체 메서드를 객체에 바인딩하는 방법은 무엇인가? 감사합니다.
위의 예는 실제 코드가 아닙니다. 이름 만 다르지만 많은 매개 변수가있는 여러 함수가있어서 연산자에서 랩핑하려고합니다.
덕분에, 나는 그 일을하려고했다. 나는. * 연산자에 대해 읽었지만 실제로 사용하는 것은 이번이 처음이다 – Anycorn
문제 없습니다. 매개 변수 전달을 허용하기 위해 다양한 변형을 생성하거나 직접 작성해야합니다. 부스트. 프리 프로세서가 여기에서 도움이 될 것입니다. (부스트를 사용하고 있다면'boost :: bind'를 사용합니다.) 부스트를 사용하고 있지 않습니다 : P) – GManNickG
실제로 인수는 적용 함수 내부에 적용되므로 동일하게 적용됩니다. 아마도 실제 코드를 제공했을 것입니다. 다시 한 번 감사드립니다 – Anycorn