Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
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: 3355
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: Fri Mar 29 12:25:29 CET 2024

Total time taken to generate the page: 0.01260 seconds