mfc出現這樣的錯誤:error C2678: binary '==' : no operator defined which takes a left-hand operand of type 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' (or there is no
acceptable conversion)
怎么辦 急急急!!!
錯誤指著這里錯了:
int flag = 0;
CCarSystem *stu = new CCarSystem;
stu->m_spinpai = m_strpinpai;
string temp;
ifstream in("a.txt");
while(in >> temp) {
if(temp==stu->m_spinpai) {
flag = 1;
MessageBox("該品牌已存在!", "注意");
in.close();
m_strpinpai = "";
UpdateData(false); // 只將學號清空,其余資訊保留
return;
}
}
in.close();
有==那里
uj5u.com熱心網友回復:
左右兩邊型別不等,無法轉換,所以不能比較uj5u.com熱心網友回復:
試試用 string::compareuj5u.com熱心網友回復:
if(strcmp(temp.c_str(),stu->m_spinpai)==0) {uj5u.com熱心網友回復:
改了這個沒有錯了,可是寫入檔案的資料不是文字 怎么破,有個查詢功能的,查不出來
uj5u.com熱心網友回復:
用了這個還是有錯誤
uj5u.com熱心網友回復:
“寫入檔案的資料不是文字 怎么”看看代碼
uj5u.com熱心網友回復:
stu 的型別定義是怎么樣的??要告訴大家uj5u.com熱心網友回復:
明顯的型別不一致報錯,強轉可行嗎?uj5u.com熱心網友回復:
void Add::write(CCarSystem *stu)
{
stu->m_spinpai=m_strpinpai;
stu->m_syanse = m_stryanse;
stu->m_sleibie = m_strleibie;
ofstream ou;
ou.open("a.txt", ios::app);
ou << left;
ou << setw(20) << stu->m_spinpai;
ou << setw(20) << stu->m_syanse;
ou << setw(20) << stu->m_sleibie;
ou << endl;
ou.close();
}
uj5u.com熱心網友回復:
CCarSystem 的定義 ?uj5u.com熱心網友回復:
ofstream of;of.open("a.txt", ios::app);
of << left;
of << setw(20) << "stu->m_spinpai";
of << setw(20) << "stu->m_syanse";
of << setw(20) << "stu->m_sleibie";
of << endl;
of.close();//結果: stu->m_spinpai stu->m_syanse stu->m_sleibie
可見 stu 有 問題 !
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/96785.html
標籤:基礎類
上一篇:子視窗卡死 父視窗復活
