Почему нельзя использовать другой тип
Я обнаружил, что если в классе метод возвращает ссылку, тогда с ним можно сделать такую вещь:
class A
{
public:
enum ElementType
{
A2,
A3,
};
A& Add(ElementType type)
{
std::cout << type << std::endl;
return *this;
}
};
int main()
{
A {}.Add(A::ElementType::A2).Add(A::ElementType::A3);
return 0;
}
Почему я не мог так сделать, если будет тип void?
Ответы (1 шт):
Автор решения: Maxim
→ Ссылка
Если метод возвращает ссылку на объект, то к нему применяется вызов следующего метода, а если метод возвращает тип void, то это означает, что возвращаемого значения нет и невозможно вызвать следующий метод.