-1

変数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
4

1 に答える 1

1

問題は次のとおりだと思います。

Extract_Organize process();

いつあるべきか

Extract_Organize process;

StackOverflowでのほとんどの厄介な解析についてはたくさんの質問がありますが、肝心なのは、コードがオブジェクトを作成する代わりに呼び出される関数を宣言しているということです。processExtract_Organize

于 2012-06-21T18:16:42.520 に答える