Я создал свой собственный исходный файл и пытаюсь добавить stddef.h. При компиляции у меня следующая ошибка:
std :: ptrdiff_t ‘не был объявлен.
Что я сделал не так?
Проблема в том, что вы включаете стандарт С заголовок, а не стандартный заголовок C ++.
Стандартный заголовок C не помещает их символы в std
пространство имен, так как C не имеет таких вещей.
То, что у вас есть другие приложения, требующие заголовок C, не имеет значения, если вы хотите использовать ptrdiff_t
псевдоним типа из C ++ std
пространство имен, вы должны включить <cstddef>
,
Или прекратить использование std::ptrdiff_t
и пользователь неквалифицированный и глобальный ptrdiff_t
от <stddef.h>
,
Ну, я полагаю, я нашел решение. Я сделал новые исходные файлы .cpp и .h и использовал в них эти библиотеки. Возможно были некоторые проблемы с включением моих собственных библиотек, и компоновщик не видит cstddef правильно.