내가 가진이 코드표준 : 바인드
struct A {
void f(int) {}
void g(int, double) {}
};
int main() {
using std::placeholders;
A a;
auto f1 = std::bind(&A::f, &a, _1);
f1(5); // <--- works fine
auto f2 = std::bind(&A::g, &a, _1);
f2(5, 7.1); // <--- error!
}
나는 컴파일러에서 (GCC 4.8.1)이 오류가 발생합니다 :
error: no match for call to '(std::_Bind<std::_Mem_fn<void (A::*)(int, double)>(A*, std::_Placeholder<1>)>) (int, double)'
f2(1, 1.1);
^
당신이 말할 수를 어디서 오류가 발생 했습니까?
감사합니다,
마시모
경우, 대답은 그것을 받아주십시오. 감사합니다.) – EFrank