template<class T>
inline T Library<T>::get_isbn()
{
T temp;
cout << "Enter the name/no:" << endl;
cin >> temp;
string ka;
if (typeid(temp) == typeid(ka))
{
while (islower(temp[0]))
{
cout << " Pls enter the using the first letter as capital" << endl;
cin >> temp;
}
}
}
return temp;
}
整数またはテンプレート パラメータのいずれかを取ることができるテンプレート クラスを作成しています。 asstring
を使用してクラスのオブジェクトを作成すると、ループに入り、すべて正常に動作します。しかし、テンプレート パラメーターとしてオブジェクトを作成すると、次の 2 つのエラーが発生します。T
string
int
エラー C1903: 以前のエラーから回復できません。コンパイルの停止
エラー C2228: '.at' の左側にはクラス/構造体/共用体が必要です
渡されたパラメーターが の場合string
、最初のアルファベットが大文字であることを確認するためのコードのみを実行する必要がありますint
。