![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() ![]() |
![]() |
18192123 |
![]()
Сообщение
#1
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 920 Пол: Женский Реальное имя: Марина Репутация: ![]() ![]() ![]() |
Сравниваю два символа типа char с помощью функции stricmp..
Компилятор выдаёт ошибку: Cannot convert 'int' to 'const char *' Скажите пожалуйста, в чём причина??
struct str
{
char symbol;
unsigned int count;
double probability;
};
typedef str STR;
STR Alph[n];
//-----------------------------------
char FindSymbol(char c,char m)
{
for(int i=0;i<m;i++)
if(!stricmp(Alph[i].symbol, c)) return i; //здесь ошибку выдаёт..
return -1;
}
|
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата в чём причина?? В том, что компилятор не может привести тип int к типу char *... Если тебе надо всегда сравнивать только один символ - можешь попробовать так:char FindSymbol(char c,char m)
{
for(int i=0;i<m;i++)
if(!strnicmp((char *)(&Alph[i].symbol), (char *)(&c), 1)) return i;
return -1;
}
, вроде должно сработать... |
18192123 |
![]()
Сообщение
#3
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 920 Пол: Женский Реальное имя: Марина Репутация: ![]() ![]() ![]() |
Спасибо!! Получилось
![]() |
![]() ![]() |
![]() |
Текстовая версия | 27.07.2025 2:39 |