2009-09-19 4 views

답변

11

불행히도, 그건 불가능합니다. functional 헤더의 C++ 표준 라이브러리의 일부 일반 연산자에 대한 래퍼가 있습니다. std::plus<T>. print 함수에 plus<int>이 아닌 특정 함수 매개 변수가 필요하기 때문에 코드에서 작동하지 않습니다.

template <typename BinaryFunction> 
void print(int a, int b, BinaryFunction f); 

print(12, 13, std::plus<int>()); 
+1

함수 서명에서 BinaryFunction 전에 int를 제거해야합니다. – UncleBens

2

네, 일반적으로 가능하지만, 더 int operator+(int, int)가 없습니다 대신 그

훨씬 더 잘 작동 템플릿 인수를 전달하려고합니다. int+int은 기본 제공 식입니다. std::string::operator+

관련 문제