2010-05-27 3 views
4

정의하고 나는 C++로 정의 사용하여 전화를 걸 :템플릿 기능에 좀 템플릿 기능이

물론
#define CONFIG(key, type, def) getValue<type>(key, def); 

, 그것은 작동하지 않습니다. 이럴 수 있을까요?

+0

진짜 문제를, 매크로를 사용하는 이유 물론, ...? 또한 매개 변수에 쉼표가 필요한 경우 문제가 발생할 수 있습니다. x –

답변

2

그것은 잘 작동 :

template<typename T> 
T getValue(int, int) { return T(); } 

#define CONFIG(key, type, def) getValue<type>(key, def); 


int main() 
{ 
    CONFIG(1, int, 2); 
    return 0; 
} 
+0

문자열을 다음과 같이 입력합니다. D. 알았습니다. 고마워요. – Ockonal

+0

정의에 기본값을 사용할 수 있습니까? 좋아요 : #define CONFIG (key, type, def = "") ...? – Ockonal

+1

아니요 -이 경우 코드를 제어한다고 가정 할 때 템플릿 자체에 기본값을 정의해야합니다. – JohnMcG

관련 문제