• Sábado 20 de Abril de 2024, 13:17

Autor Tema:  Algo Rarisimo  (Leído 1090 veces)

RiLaRos

  • Miembro activo
  • **
  • Mensajes: 94
    • Ver Perfil
    • http://www.rilaros.net
Algo Rarisimo
« en: Miércoles 15 de Marzo de 2006, 01:16 »
0
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
Ricardo La Rosa
RiLaRo's Blog
RiLaRos Web Developer
Nabaci Business Solutions

"Todo es posible si tan solo lo puedes imaginar"

Geo

  • Miembro de PLATA
  • *****
  • Mensajes: 1011
  • Nacionalidad: mx
    • Ver Perfil
    • http://hsblog.mexchip.com
Re: Algo Rarisimo
« Respuesta #1 en: Miércoles 15 de Marzo de 2006, 05:58 »
0
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).
La imaginación es el límite.
Hardware & Software | Mexchip