Jak stworzyć operator specjalizowany w szablonie funkcji - already defined

0

Witam, chce stworzyć w szablonie klasy przeładować dwa razy operator + (jedno dla normlanych typów, a drugi dla typów char*). No i tak pierwszy poszedł bez problemów :

   MTX<T> operator+ (const MTX<T> & other)
    {
        MTX<T>temp(n,m);

        //...........

        return temp;
    }

drugi jak próbuję stworzyć :

   MTX<char*> operator+ (const MTX<char*> & other)
    {
        MTX<char*>temp(n,m);

        //...........

        return temp;
    }

To wywala mi błąd: member function alredy defined or declared. W jaki sposób rozwiązać ten problem?

0

Spróbuj operator+<char*> w specjalizacji

0

Mogłbyś wyjaśnić bo nie bardzo rozumiem.

2

specjalizacja wygląda tak:

template<>
MTX<char *> MTX<char *>::operator+ (const MTX<char *> & other) const // zapomniałeś tu o const!
    {
        MTX<char *> temp(n,m);
 
        //...........
 
        return temp;
    }

1 użytkowników online, w tym zalogowanych: 0, gości: 1