lundi 30 mars 2015

Expression involving function type is lvalue or rvalue?


void fn() {}
void (&lref)() = fn;
void (&&rref)() = fn;

int main() {}


Compiles well under g++ 4.8.1.


So, fn is an expression, and an expression must have a category according to the ISO standard. Which category then the expression belongs before any automatic type promotion since both references can accept the result of evaluating the expression fn?


Aucun commentaire:

Enregistrer un commentaire