Consider following code:
void f( void * );
int main()
{
f( 0 ); // compiles fine
f( 1 - 1 ); // compiles fine
constexpr int i = 0;
f( i ); // fails to compile, cannot convert int to void *
f( i - 0 ); // compiles fine
}
why f( i )
fails to compile, though i
should be evaluated as compile time constant with value 0?
PS checked with g++ v 5.1.0
Aucun commentaire:
Enregistrer un commentaire