How to define and assign values to a string array in .header

[code]// … ABC.hxx …

#include
#include

class headerFile {
public:
static std::vectorstd::string fileName; // static member declaration
};[/code] [code]// … ABC.cxx …

#include “TSystem.h”
#include “TSystemFile.h”
#include “TSystemDirectory.h”
#include “TList.h”
#include “TString.h”

#include
#include

#include “ABC.hxx”

std::vectorstd::string headerFile::fileName; // static member definition

void ABC()
{
const char *dirname = “C:/xyz”;
const char *suffix = “.data”;
const char *prefix = “Test_one”;

TString pwd(gSystem->pwd()); //Get a current directory
TSystemDirectory dir(dirname, dirname); //TSystemDirectory dir(directoy name, Path);
TList *files = dir.GetListOfFiles(); //Displays a list of all files
gSystem->cd(pwd.Data()); // bug fix for ROOT prior to 5.34

if (files) {
TSystemFile *file; //TSystemFile class is internally used by the TBrowser to represent files.
TString fname;
TIter next(files);

while ( (file = (TSystemFile*)next()) ) { //Iterating over a loop
  fname = file->GetName();
  if ( !(file->IsDirectory()) &&
       (!prefix || !(*prefix) || fname.BeginsWith(prefix)) &&
       (!suffix || !(*suffix) || fname.EndsWith(suffix)) ) {
    std::cout << fname << std::endl;
    headerFile::fileName.push_back(fname.Data());
  }
} // while ...

} // if (files) …

delete files; // no longer needed

for (unsigned i = 0; i < headerFile::fileName.size(); i++) {
printf ("— %s\n", headerFile::fileName[i].c_str());
} // for …
} // ABC …[/code]