когда неподписанный / подписанный long int a; возможно
Зачем без знака / подписанный длинный float / double a; это невозможно ?
Почему я получаю слишком много типов в объявлении ошибка для последнего, а не для первого?
Есть три типа с плавающей точкой: float
, double
а также long double
, Ни один из них не имеет беззнаковых эквивалентов, поэтому signed
или же unsigned
перед ними не действует. Нет такого типа как long float
,
Вы получаете это сообщение, потому что длинный двойник существует, но беззнаковый длинный двойник не существует. unsigned также может быть интерпретирован как int, поэтому у вас есть два типа в последнем объявлении: неподписанный а также длинный двойной. Я не верю, что в C ++ есть долгое плавание.
Это потому что первый (long int
) является документированным типом переменной, а второй — нет.
Типы данных, которые поддерживает язык C ++:
char
unsigned char
signed char
int
unsigned int
signed int
short int
unsigned short int
signed short int
long int
signed long int
unsigned long int
float
double
long double