Nel seguente codice, int()
è una conversione di tipo esplicita.
#include <iostream>
int main()
{
void* ptr = int();
return 0;
}
Clang Compiler:
source_file.cpp:5:11: error: cannot initialize a variable of type 'void *' with an rvalue of type 'int'
void* ptr = int();
^ ~~~~~
Compilatore GCC:
Working fine.
Quindi, quale compilatore è corretto?
e, un temporaneo esplicito di un tipo integrale si qualifica come espressione di una costante integrale?