람다 함수를 재귀호출을 하려면 함수를 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);
'Dev Story > Tips' 카테고리의 다른 글
VTK 9.0.1 컴파일하기 (0) | 2020.08.07 |
---|---|
ZXing-cpp 라이브러리를 이용한 QRCode 인식 (0) | 2020.07.22 |
[MFC] 관리자 권한을 필요로 하는 프로그램 만들기 (0) | 2020.06.18 |
[MFC] Tree 컨트롤 노드 확장하기 (0) | 2020.05.29 |
[MFC] Document/View Architecture를 사용하지 않고 FormView 사용하기 (0) | 2019.03.06 |