Назначьте роль подходящую преобразований
Можно использовать приведения типов для явного преобразования типов.
Синтаксис
cast-expression.
унарное выражение( имя типа ) cast-expression
имя типа.
аннотация-декларатор описатель-квалификатор-списка Opt
имя типа тип и cast-expression значение, которое необходимо преобразовать к этому типу.Выражение с приведением типов не левостороннего значения.cast-expression преобразовывает, как если бы он был присвоен переменной типа имя типа.Правила преобразования для применения описанных в назначения ( преобразования назначенияпримените к приведениям типов).В следующей таблице представлены типы, которые могут быть приведен к любому заданный тип.
Допустимые приведения типов
Типы назначения |
Возможные источники |
---|---|
Целочисленные типы |
Любой тип целого числа или тип с плавающей запятой или указатель на объект |
С плавающей запятой |
Любой арифметический тип |
Указатель на объект или (void *) |
Любой тип целого числа, (void *), указатель на объект или указатель функции |
Указатель на функцию |
Любой целочисленный тип, указатель на объект или указатель функции |
Структура, объединение или массив |
None |
Тип void |
Любой тип |
Идентификатор может быть приведен к любому void этот тип.Однако если тип, указанный в выражении предоставление подходящую роль нет voidзатем идентификатор, приведения к этому типу не может быть a void выражение.Любое выражение может быть приведен к voidтолько выражение типа void не удается привести к любому другому типу.Например, функция с void возвращаемый тип не может иметь свое приведение передачи в другой тип.
Обратите внимание, что значение a void * выражение содержит указатель типа void, а не тип void.Если приводится объекта в void введите, результирующее выражение не может быть присвоено любому элементу.Аналогично, объект предоставление подходящую роль отсутствует допустимый l-значением, поэтому присвоение можно сделать на объект предоставление подходящую роль.
Только для систем Microsoft
Приведение типа может быть выражением l-значением, если размер идентификатора не изменяется.Дополнительные сведения о выражениях см. левостороннего значения. Левостороннего значения выражения и значения r.
ЭЛЕМЕНТ, относящийся Майкрософт
Можно преобразовать выражение для ввода void с приведением, но результирующее выражение может использоваться, только если значение является обязательным.Указатель объекта преобразованный в void * и обратно в исходный тип возвратит к своему исходному значению.