Я наткнулся на тот факт, что в C ++ для кода < /p>
template
struct Ratio
{
T Nominator; T Denominator;
Ratio& operator+=(const Ratio& R);
...
};
template
Ratio& Ratio::operator+=(const Ratio& R)
{
...
}
< /code>
Параметр шаблона, по -видимому, необходимо повторить для имени структуры в типе возврата и перед :: < /code>, но не для параметра.
Есть ли правило Clearcut для этого? Почему компилятор предполагает, что параметры определяются в введенной строке «шаблон», но он не может или не хочет для возврата типа или имени класса?
Подробнее здесь: https://stackoverflow.com/questions/796 ... d-when-not