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:
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. #if (sizeof(short int) == 4) #define ENTERO short int #elif (sizeof(int) == 4) #define ENTERO int #endif