가능한 중복 :C++ 템플릿
:이처럼 사용할SomeClass<int, 1> intObj; //ok SomeClass<float, 1.f> floatObj; //error: 'float' : illegal type for non-type template parameter 'DefaultValue'
template<typename ValueType, ValueType DefaultValue> class SomeClass { public: SomeClass() : m_value(DefaultValue){} ValueType m_value; };
나는이 클래스가
float
을 사용할 때 왜이 오류가 발생하는지 설명해 주시겠습니까?
RGBA 색상을 표현하고 다른 색상 표현 (예 : 흰색)에 대한 기본값으로 채널을 초기화하는 것과 비슷한 것을 사용하고 싶습니다.
간단히 대답하면 표준에서 허용하지 않는다는 것입니다. –
@ K-ballo 네, 같은 질문입니다. 닫으십시오 :) – Felics
@Felics : 나는 이미 4 표를 더 기다리면서 그것을 닫으려고 투표했습니다 ... –