Ao ler esta explicação sobre lvalues e rvalues, estas linhas de código ficaram grudadas em mim: int& foo(); foo() = 42; // OK, foo() is an lvalue Eu tentei em g ++, mas o compilador diz "referência indefinida para foo ()". Se eu adicionar int foo() { return 2; } int main() { int&...