Hola.
Estoy tratando de que el compilador de C++ (uso Dev-c++ 4.9.8.0) me permita definir un tipo de dato entero de 4 bytes.
El problema es que el ANSI C++ no asegura cuántos bytes tienen los tipos enteros: short, int, long.
Intenté hacerlo con compilación condicional, pero no me deja compilar, porque al compilador parece que le molesta el uso de sizeof():
Código:
#if (sizeof(short int) == 4)
#define ENTERO short int
#elif (sizeof(int) == 4)
#define ENTERO int
#endif
No entiendo por qué eso no funciona, si después de todo, se supone que las directivas #if funcionan con cantidades constantes y operadores de C++, y sizeof es un operador de C++, y las evaluaciones que hago son constantes, se resuelven en tiempo de compilación.