C++에서 함수의 반환 형식을 추출 (호출하지 않고)하는 방법을 찾고 있습니다. 나는 이것이 약간의 템플릿 마법을 필요로한다고 추정한다.함수를 호출하지 않고 함수의 반환 형식을 추출합니다 (템플릿을 사용합니까?)
float Foo();
int Bar();
magic_template<Foo>::type var1; // Here 'var1' should be of type 'float'
magic_template<Bar>::type var2; // and 'var2' should be of type 'int'
현재 magic_template
이 구현 될 수 있지만 지금까지 해결 방법을 찾지 못했습니다.
아이디어가 있으십니까?
함수 반환 유형은 공변량이며 타이타닉을 싱크하는 빙산입니다. –
흠 맞아 보이는이 모양. 모든 사람들에게 예제를 제공하려면 다음과 같이 작동합니다. boost :: function_traits :: type> :: result_type var1; var1 = 3.14f; 내 유일한 문제는 당신이 말했듯이, 나는 이러한 부스트 유틸리티에 전달하기 위해 전체 기능의 유형이 필요합니다. –
pauldoo
@nobugz : 나는 당신의 의견을 정말로 이해하지 못합니다, 당신은 더 설명 할 수 있습니까? –