Вычитание указателя дает результат типа ptrdiff_t
.
Цитирование C11
, глава §6.5.6 / P9
Когда вычитаются два указателя, оба должны указывать на элементы одного и того же объекта массива или один за последним элементомобъекта массива;Результатом является разница индексов двух элементов массива.Размер результата определяется реализацией, а его тип (целочисленный тип со знаком) ptrdiff_t
определен в заголовке <stddef.h>
[...]
Здесь попытка состоит в том, чтобыприведите это к int *
, что, по-видимому, неверно.