템플릿 클래스의 함수에서 float to bool 변환 성능 경고를 제거하려고하는데이 경우 boost::enable_if
이 과도한 사용으로 느껴집니다.C++ 템플릿 클래스에서 성능 경고 제거
아마도 컴파일 타임에 템플릿 유형을 확인한 다음 유형에 따라 적절한 캐스팅을 사용할 수 있습니까? 난 그냥 경고를 해제하지 선호
#if (boost::is_same<CType, bool>::value == true)
val = (val+val2)!=0;
#else
val = (T)(val+val2);
#endif
:
T val;
float val2;
val = (T)(val+val2); // warning here for objects of type bool
나는 이런 식으로 뭔가를 할 수 있습니다. bool
에 대한 별도의 템플릿에 밖으로 작업을 당길 수
스택 오버플로에 오신 것을 환영합니다! complier 경고는 사용중인 컴파일러에 따라 다릅니다. 이 질문을 컴파일러에 적절하게 태그하십시오. –
bool 유형의 템플릿을 특수화 할 수 있습니다. – Collin
콜린 고맙습니다. 그러나 한 가지 경고를 수정하는 전문 분야를 만드는 것은 나에게 과도한 잔인한 것처럼 보입니다. 확실히 더 편리한 방법이 있어야할까요? – s0ndeb0k