こんにちは、オブジェクトの 2D 配列の初期化に問題があります。クラスは TermFrequency(Key,string,int,double);
、オブジェクトの動的 2D 配列を初期化する方法です。
// TermFrequency tfreq [v_word.size()][totalNumberOfDocuments];
TermFrequency** tfreq = new TermFrequency*[v_word.size()];
for(size_t i = 0; i < v_word.size(); ++i)
tfreq[i] = new TermFrequency[totalNumberOfDocuments];
エラーが発生する理由を理解しました:
- 'TermFrequency::TermFrequency()' の呼び出しに一致する関数がありません |
- 注: TermFrequency::TermFrequency(Key, std::string, int, double)|
どうすれば修正できるか知りたいだけですか?
ありがとうございました。
OK、DEFAULT コンストラクター TermFrequency を追加したところ、うまくいきましたTermFrequency();
。たとえば、次のような新しいオブジェクトを追加できますよね?
その実装は正しいと考えられていますか?
For(int i = 0; i < Length1; i++){
for(int j = 0; j < length2;j++){
tfreq[i][j] = TermFrequency(v_word[i],documents[j],j,wordCount);
}
}
そして、それは出力用です:
for( size_t i = 0 ; i < v_word.size() ; i++ )
{
for(int j = 0; j < totalNumberOfDocuments;j++)
{
cout << tfreq[i][j].getTermFrequency() << endl;
}
}