変数fがvector::iteratorとして宣言されており、ディレクトリからファイルを読み取ろうとしているため、c_str()をポイントしています。コードは最初は準拠していましたが、どの関数も呼び出されませんでした。クラスと関数を記述して、それを渡して別の関数で使用できるようにすることはできますか。これは、int main()のコードの一部です。
int main() {
vector<string> files;
if (d) {
//we successfully opened the directory
//while there's still something we haven't looked at
while ((dir = readdir(d)) != NULL) {
//get the name of that thing
string filename = dir->d_name;
//filter out what we don't want
if (filename == "." || //filter out current dir
filename == ".." || //filter out parent dir
filename.find(".csv") == string::npos) //here is where you set up the match
continue;
//and add what we do want to our files data structure
files.push_back(basepath + "/" + filename);
}
}
map<string, int> foo;
double fail = 0;
for (vector<string>::iterator f = files.begin(); f != files.end(); ++f) {
Extract_Organize process;
cout << "What";
process.transform();
process.create_file();
cout << "Finished!\n";
}
return 0;
}
class Extract_Organize {
public:
Extract_Organize;
void transform();
void create_file();
string double_integrate(int, int);
};
#endif