Pourquoi ne puis-je pas ajouter des pointeurs?

J'ai un code très similaire à ceci:

LINT_rep::Iterator::difference_type LINT_rep::Iterator::operator+(const Iterator& right)const
{
    return (this + &right);//IN THIS PLACE I'M GETTING AN ERROR
}

LINT_rep::Iterator::difference_type LINT_rep::Iterator::operator-(const Iterator& right)const
{//substracts one iterator from another
    return (this - &right);//HERE EVERYTHING IS FINE
}

err msg: Error  1   error C2110: '+' : cannot add two pointers

Pourquoi j'obtiens une erreur à un seul endroit et pas dans les deux?

source d'informationauteur There is nothing we can do