﻿# V125\. It is not advised to declare type 'T' as 32\-bit type\.


> Это правило входит в группу "Диагностика 64\\\-битных ошибок"\\\. Разработка правил этой группы больше не ведётся, и в будущем они могут быть отключены\\\. Если вы используете эти правила, \[свяжитесь с нашей поддержкой\]\(https://pvs\-studio\.ru/ru/about\-feedback/\) — мы поможем найти замену или предложим альтернативное решение\\\.

Анализатор обнаружил потенциально возможную ошибку, связанную с тем, что в 64\-битном коде присутствует определение зарезервированных типов\. При этом они определяются как 32\-битные\.

Пример:

```cpp
typedef unsigned size_t;
typedef __int32 INT_PTR;
```

Подобное определение типов может привести к различным ошибкам, так как в разных частях программы и библиотеках эти типы будут иметь различный размер\. Следует использовать специальные заголовочные файлы, в которых корректно определены эти типы\. Например, тип size\_t определен в заголовочном файле stddef\.h для языка C и в файле cstddef для языка C\+\+\.

Дополнительные ресурсы:

1. База знаний\. [Можно заставить тип size\_t быть 32\-битным в 64\-битной программе?](https://pvs-studio.ru/ru/blog/posts/cpp/k0021/)
1. База знаний\. [Является ли size\_t стандартным типом в языке Си\+\+? В языке Си?](https://pvs-studio.ru/ru/blog/posts/k0022/)