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 |
|
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
|
|
|
Goto Forum:
Current Time: Fri Mar 29 12:25:29 CET 2024
Total time taken to generate the page: 0.01260 seconds
|