2017-07-20 72 views
0
  1. リンクリストからレコードを削除するために使用できるbool DeleteRecord(List *リスト、Tレコード)関数を記述してください。これを使用して、学生リストまたはブックリストのレコードを削除できます。学生リストから削除する場合は、idを使用して生徒を検索し、ブックリストから削除する場合は、電話番号を使用して書籍を検索します。レコード変数には、削除するオブジェクトのIDまたは呼び出し番号が格納されます。正常に削除された場合はtrueを返し、リストに生徒が見つからない場合はfalseを返します。

これが関数である:関数テンプレートのインスタンスが引数リストと一致しません

template <class T> 
bool DeleteRecord(List<T> *list, T record) 
{ 
T temp, check_ls; 
bool del = false; 

cout << "\nDeleting record......"; 


strcpy(temp, record); 
for (int i = 1; i <= (*list).size(); i++) 
{ 
    (*list).get(i, check_ls); 
    if (check_ls == temp){ 
     (*list).remove(i); 
     del = true; 
     break; 
    } 
} 

if (del){ return true; } 
else { return false; } 
} 

このfindID場合:あり

string findID(){ 

string id; 
bool valid = false; 

while (!valid){ 
    cout << "\nEnter ID of Student: "; 
    cin >> id; 
    valid = true; 

    if (id.length() != 7) 
    { 
     cout << "\nError! Enter 7 digits"; 
     id = ""; 
     valid = false; 
    } 
    else 
    { 
     if (!alldigit(id)) 
     { 
      valid = false; 
      cout << "\nError! Enter digit only."; 
     } 
    } 
} 
return id; 
} 

この今のところ私のコードです(main.cppに)

int main(){ 
     system("cls"); 
     cout << "Delete Record\n"; 
     //cout << findID().c_str(); 
     id=findID(); 
     cout << id; 

     if (DeleteRecord(stulist, id)){ cout << "Success! Record deleted.\n"; } 
     else { cout << "\n\nError! No such record.\n"; } 

     cout << "\nInfo: " << (*stulist).size() << " record(s) remaining.\n\n"; 
     system("pause"); 
     return 0; 
     } 

問題は私がDeleteRecord関数を呼び出すとき。 関数テンプレートのインスタンスが引数リストと一致しないと言っています。 誰でもこの問題を解決するのに役立ちますか?

+1

こんにちは、ようこそ。 [ツアー](https://stackoverflow.com/tour)にアクセスし、[ヘルプページ](https://stackoverflow.com/help)をご覧ください。まず[これらのC++の書籍](https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)のいずれかを読んでください。 – Ron

+0

ヘルプページを読むときは、[mcve]の作成方法を理解することに集中してください。 – StoryTeller

+0

'stulist'はどこに宣言されていますか?そのタイプは何ですか? 'id'はどこに宣言されていますか? –

答えて

0

あなたの機能は

bool DeleteRecord(List<T> *list, T record) 

のようなもので、あなたの引数が間違っています。私はそれが問題を引き起こしているListを推測する。その*を削除してみてください。

関連する問題