U++ framework
Do not panic. Ask here before giving up.

Home » Extra libraries, Code snippets, applications etc. » C++ language problems and code snippets » Nested template question
Nested template question [message #51842] Sun, 09 June 2019 16:16 Go to previous message
koldo is currently offline  koldo
Messages: 3459
Registered: August 2008
Senior Veteran
Hi all

I wanted to overload a function to get a zero (it is a sample):
void test() {
	double val 		   = GetAZero<double>();	
	std::complex<float>  valc1 = GetAZero<std::complex<float>>();
	std::complex<double> valc1 = GetAZero<std::complex<double>>();
}

This code works, but it is not nice:
template <class T> T 			GetAZero() {return 0;}
	
template <> 	   std::complex<float>	GetAZero() {return std::complex<float> (0, 0);}
template <> 	   std::complex<double> GetAZero() {return std::complex<double>(0, 0);}


This code is more compact, but it does not work:
template <class T> 		 T 			GetAZero() {return 0;}
	
template <class std::complex<T>> std::complex<T>	GetAZero() {return std::complex<T> (0, 0);}

Is there an adequate way to do this?


Best regards
IƱaki
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: prototype not found
Next Topic: Dumb bug. Improper use of Null
Goto Forum:
  


Current Time: Mon May 25 02:51:09 GMT+2 2026

Total time taken to generate the page: 0.01164 seconds