申し訳ありませんが、これはかなり汚いですが、私は、ファイルを開いて、ifstream
を使用して、それを読むためにしようとしている:C++:変数 'std :: ifstream ifs'にイニシャライザがありますが、型が不完全です
vector<string> load_f(string file) {
vector<string> text;
ifstream ifs(file);
string buffer, str_line;
int brackets = 0;
str_line = "";
while (getline(ifs, buffer)) {
buffer = Trim(buffer);
size_t s = buffer.find_first_of("()");
if (s == string::npos) str_line += "" + buffer;
else {
while (s != string::npos) {
str_line += "" + buffer.substr(0, s + 1);
brackets += (buffer[s] == '(' ? 1 : -1);
if (brackets == 0) {
text.push_back(str_line);
str_line = "";
}
buffer = buffer.substr(s + 1);
s = buffer.find_first_of("()");
}
}
}
return text;
}
しかし、私は私が解決するかどうかは非常にわからないんだけど、次のエラー取得しています:非常に感謝
variable 'std::ifstream ifs' has initializer but incomplete type
回答。 #include <fstream>
を忘れたことはありません。ヘッダーを含めることを忘れてエラーを受けた人が多いためです。
EDIT:
私は実際にfstream
を含めることを忘れなかったことが判明し、私は原因別のファイルに関数を移動するには忘れていました。
質問の最後を読んでください。 ;) – beakr
あなたはどちらか1)ans – Pubby
この回答は私を助けました。私の場合は、fstreamを含む別のヘッダファイルを削除したためです。解決策はfstreamを含めることでした。 –