2017-12-19 1 views
-3

std::vector (다른 std::vector의 인덱스 포함)을 정렬하려고합니다.C++에서 정렬을 위해 람다 함수를 사용하는 중 오류

sort(inds.begin(), inds.end(), [&](int i1, int i2) { return compares[i1] < compares[i2]; }); 

그러나 그것은 나에게 다음과 같은 오류가 계속은 :

image

나 자신 -std = C++ 11 g ++ 명령을 추가하여 해결했습니다.

+0

첫 번째 경고는 이유를 알려줍니다. Lambda는 C++ 11을 필요로하지만 C++ 11 모드에서는 컴파일하지 않습니다. –

+0

C++ 11 모드로 코드를 컴파일하지 않는다는 것은 첫 번째 오류 메시지에서 분명합니다. lambda는 C++ 11에서 소개되었습니다. –

+0

Java와 Python을 코딩하고 다른 C++ 모드와 전환 방법의 차이점을 이해하지 못합니다. 나는 경고를 보았다. 나는 그것을 봤고 아무것도 찾지 못했습니다. 나는 C++에서 꽤 새로운 편이다. 내 g ++를 업데이트했지만 동일합니다. – user3157047

답변

1

특히 첫 줄을주의 깊게 읽으십시오.

그런 다음 두 컴퓨터의 툴체인 버전을 비교하여 기본 C dialact가 가정되는지 또는 환경 변수 또는 빌드 환경 또는 기타 환경에서 빌드하기위한 기본 플래그가 다른지 여부를 확인하십시오.

관련 문제