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;
}
Я создаю класс шаблона, который может принимать либо целый или string
в качестве параметра шаблона и при создании объекта класса с T
как string
, он собирается в цикле и работает все отлично , Но когда я создаю объект с int
в качестве параметра шаблона, он дает мне после двух ошибок:Использование TypeId с шаблонами
ошибка C1903: не удается оправиться от предыдущей ошибки (ов); остановка сборник
ошибка C2228: слева от «.at» должен иметь класс/структуры/объединения
Я хочу, что если передаваемый параметр string
, то только код для проверки первого алфавита, чтобы быть столицей должен выполняться, иначе, когда я задаю параметр шаблона как int
, он не должен проверять первую вещь алфавита.
После форматирования вы, кажется, слишком много закрывающих скобок '}'. – dyp
Ваш код не содержит вызовов на(), поэтому вы не опубликовали фактический код. –