Перегрузить оператор сдвига вправо

Компилятор говорит что слишком много параметров для этой функции оператора. Но когда я выношу за пределы класса все работает Подскажите что можно сделать так чтобы перегрузка оператора была в классе и все работало

class String
    {
        char* str;
        int n = 50;
    
    public:
    void operator << (String& src, int num)
        {
            char* tmp = new char[src.n];
            memset(tmp, 0, src.n);
            memcpy(tmp, &src.str[num], src.n - num);
            memcpy(src.str, tmp, src.n);
        }
    };

Ответы (0 шт):