これまで STL をあまり使用したことがありませんでしたが、このハフマン圧縮プロジェクトを始めました。関数の引数を除いて機能しない「for_each」関数を除いて、すべてが機能しているようです。私は通常 xcode を使用しないので (通常は eclipse cdt を使用します)、問題が自分のコードにあるのか xcode にあるのかわかりません。
これは Huff.h ファイルです
class Huff {
private:
typedef pair<char, int> c_pair;
vector<Node> nodes;
vector<Code> code;
string content;
void copy_to(c_pair c);
public:
Huff(string);
~Huff();
string compress();
bool set_content();
string get_content();
string get_compress();
};
そして、これは動作しない Huff.cpp ファイルの一部です。
//---Compress---
void Huff::copy_to(c_pair c){
Node n(c.second, c.first, NULL, NULL);
nodes.push_back(n);
}
string Huff::compress(){
map<char, int> freq;
for(int i = 0; i < content.length(); i++)
freq[content[i]]++;
for_each(freq.begin(), freq.end(), copy_to); //I've also tried this->copy_to
return "110";
}