Я пытаюсь реализовать шаблон посетителя для структуры объекта, который имеет методы с разными типами возвращаемых значений (строка, подписанный int, unsigned int и т.д.).
Теперь, в иерархии объектов, я добавил метод Accept со следующей сигнатурой (используя С++):
void Accept(Visitor *);
Я не могу понять, как я могу использовать один и тот же интерфейс (с типом возврата void), в то же время позволяя моим конкретным методам иметь разные типы возвращаемых данных.