& Lt; stddef.h & GT; std :: ptrdiff_t ‘не был объявлен

Я создал свой собственный исходный файл и пытаюсь добавить stddef.h. При компиляции у меня следующая ошибка:

std :: ptrdiff_t ‘не был объявлен.

Что я сделал не так?

-3

Решение

Проблема в том, что вы включаете стандарт С заголовок, а не стандартный заголовок C ++.

Стандартный заголовок C не помещает их символы в std пространство имен, так как C не имеет таких вещей.

То, что у вас есть другие приложения, требующие заголовок C, не имеет значения, если вы хотите использовать ptrdiff_t псевдоним типа из C ++ std пространство имен, вы должны включить <cstddef>,

Или прекратить использование std::ptrdiff_t и пользователь неквалифицированный и глобальный ptrdiff_t от <stddef.h>,

1

Другие решения

Ну, я полагаю, я нашел решение. Я сделал новые исходные файлы .cpp и .h и использовал в них эти библиотеки. Возможно были некоторые проблемы с включением моих собственных библиотек, и компоновщик не видит cstddef правильно.

0

По вопросам рекламы [email protected]