У меня есть интерфейс функции:
struct iFace {
virtual Type& getType() = 0;
}
и идея состоит в том, чтобы получить его как:
iFace& iface = getIface();
Type& type = iface.getType();
однако я иногда делаю ошибку и пишу:
Type type = iface.getType();
, который копирует по значению, чего я хочу избежать. Однако, когда я делаю такие ошибки, компилятор не выдает предупреждение, потому что его допустимый синтаксис. Я хотел бы вызвать ошибку времени компиляции для этого, Вопрос Каковы мои альтернативы?
Я думал о том, чтобы объявить конструктор копирования, но нигде не определять его, вызывая ошибку времени компоновки, если он используется, но тогда я не смогу использовать конструктор копирования в ЛЮБОЙ ситуации, которая меньше желаемого