Как получить список вектора с ++ - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть эта функция для подобного класса, она использует #include <dirent.h> library

int в заголовке directory.h

class Directory {
 public:
  explicit Directory(std::string path);
  ~DirectoryReader();
  std::vector<std::string> daftarFiles;
  std::vector<std::string> files() const;

 private:
  DIR *dir_;
};

в имени класса directory.cpp

std::vector<std::string> DirectoryReader::files() const{
     std::vector<std::string> files;
     struct dirent *ent;
     while ((ent = readdir(dir_)) != NULL) {
            if (ent->d_type == DT_REG) {  // regular file
                   files.push_back(ent->d_name);
            }
     }

     return files; 
}

Как получить данные вызовов из этого вектора в моей основной программе? Я хотел бы сделать как .size() и вызов значения внутри вектора. Потому что, когда я передаю функцию .push_back() в вектор publi c с именем daftarFiles, он возвращает ошибку

1 Ответ

1 голос
/ 01 апреля 2020

Просто вызовите функцию в главном и назначьте ее:

std::vector<std::string> daftarFiles = files();

(вы также можете использовать auto ). Теперь вы можете получить доступ к содержимому через daftarFiles, например, f.size(), et c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...