2020/06/26
C++ 람다(Lambda) 함수 재귀호출
람다 함수를 재귀호출을 하려면 함수를 auto로 생성하면 안되고 std::function으로 생성해야 한다.
std::function< int (int)> fibonacci = [&fibonacci](int nValue) -> int { if ( nValue <= 0 ) return 0; if ( nValue == 1 ) return 1; return fibonacci(nValue - 1) + fibonacci(nValue - 2); }; int nResult = fibonacci(10); TRACE("Fibonacci: %d\n", nResult);
Subscribe to:
Post Comments
(
Atom
)
No comments :
Post a Comment