Тип size_t не может быть разрешен C eclipse

#c #eclipse #size-t

#c #eclipse #размер-t

Вопрос:

Я разработаю одно приложение на c с использованием eclipse. Моя проблема в том, что используемая переменная типа size_t отлично работает в first.cpp файл, но не работает в second.cpp файл для того же проекта.

Объявление переменной типа

 size_t myVariable;
  

В нем говорится «Тип size_t не удалось разрешить»

Комментарии:

1. вы включили файл заголовка в second.cpp для size_t?

2. Измените его на std::size_t и сделайте #include <cstddef> вверху.

3. @Nipun Ya Я добавляю весь файл заголовка, но в моем first.cpp в файле использовался процедурно-ориентированный код и мой second.cpp файл содержит объектно-ориентированный код.

4. @Simple Извините, на самом деле я использовал std::size_t, тогда это тоже не работает …!

5. @Devani, тебе лучше опубликовать свой код. Без этого было бы трудно понять. Если у вас есть редактор VS, попробуйте запустить то же самое и для него. Это поможет вам определить, происходит ли это из-за редактора eclipse или нет, как вы упомянули в вашем вопросе.

Ответ №1:

Вам не хватает include в вашем second.cpp файл. Попробуйте добавить, т.е.:

 #include <cstdlib>
  

в этом файле. Тогда size_t должно быть разрешимым.
Заголовочные файлы внутри size_t определены следующим образом:

 <cstddef> <cstdio> <cstdlib> <cstring> <ctime> <cwchar>
  

Смотрите также: здесь

В случае, если вы не используете, using namespace std; вам все же придется написать std::size_t . Если вы хотите size_t включить в свое глобальное пространство имен, вы можете включить вместо этого — но я бы не советовал этого делать, потому что это устарело и загрязняет глобальное пространство имен.

Комментарии:

1. MSDN сообщает STDDEF. H для size_t

2. stddef.h не рекомендуется в C , поскольку оно помещает каждое имя в глобальное пространство имен. Вместо этого лучше использовать <cstddef> . Смотрите также здесь .

Ответ №2:

 typedef unsigned int size_t;
  

помогает. поправьте меня, если я ошибаюсь.

Комментарии:

1. я не могу найти site_t в visualstudio2017-workload-nativedesktop