data: refined template parameter names
* Fixed template parameters to be resolved to their correct names even if they are (re)definied outside of the class (e.g. for template method definitions). * Added test code.
This commit is contained in:
@@ -1,10 +1,14 @@
|
||||
template <typename T>
|
||||
template <typename T, typename U>
|
||||
class TemplateTestClass
|
||||
{
|
||||
void run(T param);
|
||||
public:
|
||||
template <typename P>
|
||||
void run(P param);
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
void TemplateTestClass<T>::run(T param)
|
||||
template <typename T, typename U>
|
||||
template <typename P>
|
||||
void TemplateTestClass<T, U>::run(P param)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
|
||||
int main()
|
||||
{
|
||||
TemplateTestClass<int> t2;
|
||||
TemplateTestClass<float, float> t1;
|
||||
t1.run<float>(6.9f);
|
||||
TemplateTestClass<int, int> t2;
|
||||
t2.run<int>(6);
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user