0
- リンクリストからレコードを削除するために使用できる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関数を呼び出すとき。 関数テンプレートのインスタンスが引数リストと一致しないと言っています。 誰でもこの問題を解決するのに役立ちますか?
こんにちは、ようこそ。 [ツアー](https://stackoverflow.com/tour)にアクセスし、[ヘルプページ](https://stackoverflow.com/help)をご覧ください。まず[これらのC++の書籍](https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)のいずれかを読んでください。 – Ron
ヘルプページを読むときは、[mcve]の作成方法を理解することに集中してください。 – StoryTeller
'stulist'はどこに宣言されていますか?そのタイプは何ですか? 'id'はどこに宣言されていますか? –