Ниже приведен код проблемы.Нет преобразования из «const char» в «int»
#include <iostream>
#include <cctype>
using namespace std;
void convertToUppercase(char *);
int main()
{
char phrase[] = "characters and $32.98";
cout << "The phrase before conversion is : " << phrase;
convertToUppercase(phrase);
cout << "\nThe phrase after conversion is : " << phrase << endl;
return 0;
}
void convertToUppercase(char *sPtr)
{
while (*sPtr != "\0")
{
if (islower(*sPtr))
*sPtr = toupper(*sPtr);
cout << "sPtr (before) = " << sPtr;
sPtr++;
cout << "\nsPtr (after) = " << sPtr << endl;
}
}
Окно вывода показывает мне, что:
1>d:\sync files\converting lowercase letter to uppercase letters\converting lowercase letter to uppercase letters\main.cpp(19): error C2446: '!=' : no conversion from 'const char *' to 'int'
1> There is no context in which this conversion is possible
1>d:\sync files\converting lowercase letter to uppercase letters\converting lowercase letter to uppercase letters\main.cpp(19): error C2040: '!=' : 'int' differs in levels of indirection from 'const char [2]'
Где ошибка, которую я сделал? Я точно скопировал код из моей книги, но проблема все еще существует.
Извините, я не могу это найти. нужна помощь.
Благодарим за внимание.
Ваша функция преобразования должна быть одним вызовом 'std :: transform' или циклом диапазона. Вам не нужно проверять, что он ниже. – chris