|This rule is Obsolete|
|Synopsis:||Avoid multiple definition of overloaded methods/functions in conjunction with the instantiation of a class template|
If a method/function is overloaded, there may be a conflict if the element type appears explicitly in one of these. After instantiation, there may be two methods/functions that, for example, have the type int as an argument. This is shown in the following code:
template <class ET>
void foo( int a );
void foo( ET a ); // What if ET is an int?
In cases where there is a risk for multiple definition of methods or functions, this must be carefully documented.