【发布时间】:2013-10-06 09:17:57
【问题描述】:
嗨,我有点难以理解编译器在说什么:
[BCC32 错误] frmNew.cpp(333): E2285 找不到匹配 'std::getline<_elem>(ifstream,std::vectorstd::string,std::allocator
)' 完整的解析器上下文 frmNew.cpp(303): 解析: void _fastcall TFrmNewPeta::showDefaultRute()
我使用std::vector<std::string>mystring 来存储我的字符串文件,但是
while (std::getline(ifs_Awal, mystring)) 抛出错误。
这是我的完整代码:
void __fastcall TFrmNewPeta::showDefaultRute()
{
std::string mystring;
std::ifstream ifs_Awal;
int tempIndexAwal = 0;
ifs_Awal.open("DefaultDataAwal");
while (std::getline(ifs_Awal, mystring)) {++tempIndexAwal;}
std::vector<std::string> mystring(tempIndexAwal);
while (std::getline(ifs_Awal, mystring)) // error
{
mystring.push_back(mystring); // error
}
ifs_Awal.close();
}
我正在使用 C++ Builder 2010。
在许多教程中,他们更喜欢使用std::vector 将字符串存储到动态数组中。所以我做了同样的事情,但是当我尝试使用std::vector<>时出现错误。
【问题讨论】: