2017-02-01 6 views
2

VS2015는 내 코드를 컴파일하지 않습니다. 네임 스페이스에 "std"에는 멤버가 없지만 intellisense는 매개 변수와 반환 값을 알려줍니다. 예, 헤더를 포함 시켰습니다.네임 스페이스 "std"에는 멤버가 없습니다 "clamp"

#include <Math/Matrix3D.h> 
#include <glm.hpp> 
#include <gtx/transform.hpp> 
#include <Utils/Clock.h> 

#include <algorithm> 

void somefunc() 
{ 
viewPos.y = std::clamp(viewPos.y, -0.95f, 0.95f); 
} 
+3

'std :: clamp'는 C++ 17로만 보입니다. 컴파일러 플래그를 C++ 17을 컴파일하도록 설정 했습니까? – Kevin

+1

Visual Studio 2015 [C++ 17 기능에 대한 지원이 거의 없음] (https://msdn.microsoft.com/en-us/library/hh567368.aspx),' std :: clamp'를 사용하는 것이 좋습니다. – ShadowRanger

+0

시험 버전의 헤더가 있는지 확인하고 확인할 수 있습니다. –

답변

관련 문제