¿Hay alguna manera, en C++, de forzar la asignación del valor devuelto de una función? es decir, si tengo una función foo miembro deforzar objeto devuelto que se asignará
class myClass{
...
public:
T1 foo(T2 x){T1 y; /*something*/ return y;};
}
cual puedo llamar en el main() como
myClass obj;
T1 a = obj.foo(x); //<--
puedo hacer la llamada más simple
myClass obj;
obj.foo(x); //<--
(que no lo hace almacenar el valor devuelto) de alguna manera "ilegal"?
Alternativamente, puedo distinguir las definiciones de
T1 a = obj.foo(x);
obj.foo(x);
gracias por su tiempo y lo siento por mi ignorancia
No hay nada particularmente malo en descartar valores devueltos. Además, incluso si hubiera una manera de hacerlo, ¿qué pasa con 'somefunc (obj.foo (x))'? – Cubic
¿Qué intenta lograr que lo haga necesario? –