2020/06/26
C++ 람다(Lambda) 함수 재귀호출
람다 함수를 재귀호출을 하려면 함수를 auto로 생성하면 안되고 std::function으로 생성해야 한다.
1 2 3 4 5 6 7 8 9 10 | 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