SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: RiLaRos en Miércoles 15 de Marzo de 2006, 01:16
-
Para este sencillo codigo c++:
#include "stdafx.h"
int main(int argc, char* argv[])
{
int aux;
aux = (0) ( 44);
printf("%d patata",aux);
return 0;
}
Si yo hago eso, compila bien, y aux es igual a 0.
En cambio si hago
aux = (1) ( 44);
Como es logico da error de compilacion porque eso no hay quien lo evalue.
Entonces... porque no da error de compilacion con el
aux = (0) ( 44);
?????
Graciasssss
-
Pues debe ser algo relacionado con la implementación de Microsoft, porque en MinGW te manda este error:
'0' cannot be used as a function
Ahora, en Visual C++ te manda también una advertencia:
warning C4353: nonstandard extension used: constant 0 as function expression. Use '__noop' function intrinsic instead
Donde se puede ver que es una extensión "no estándar" implementada por Microsoft, en algún lado está 0 declarada como ¿constante?
Saludos,
José Jorge (Geo).