Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.93
ijonhson
47 / 47 / 1
Регистрация: 09.03.2011
Сообщений: 584
#1

Ошибка: "invalid conversion from char* to char" - C++

14.03.2011, 17:20. Просмотров 4136. Ответов 10
Метки нет (Все метки)

Граждане,товарищи изучаю C++ и зациклился на проблеме,мне надо подсчитать количество букв в массиве введённом с клавиатуры
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
int func(char k)
{
    int i;
     for(i=0;k!='\0';)
     {
                    k++;
                    i++;
                    cout<< k;
                    }
     return i;
     }
     
     int main()
     {
    int z;
    char kl[64];
    cin >>kl[64];
     z=func(kl);
     cout<<z; 
     return 0;
     }
где-то что-то пропустил однако а где и что?,выдаёт ошибку:20 invalid conversion from `char*' to `char'
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2011, 17:20
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка: "invalid conversion from char* to char" (C++):

invalid conversion from "const char*" to "char" - C++
Помогите, пожалуйста, найти проблему. Arguments.h #include&lt;iostream&gt; class Arguments { public: Arguments(int iArgc,...

[Ошибка] invalid conversion from 'const char*' to 'char*' [-fpermissive] - C++
Решал задачи сам по себе, наткнулся на очень интересную. Вот сама задача: Вы оператор пуска ракет на ядерном подводном ...

Ошибка invalid conversion from 'const char*' to 'char*' - C++
Я в С++ новенький. Поэтому опыта еще нет, да и знаний мало. ПОдскажите пожалуйста, чего вылетает ошибка invalid conversion from 'const...

Работа со строками - Invalid conversion from 'char' to 'const char*' - C++
#include &lt;iostream&gt; #include &lt;ctype.h&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; using namespace std; void poisk(int n, char...

Error: invalid conversion from 'char' to 'char*' [-fpermissive]| - C++
Ребят что не так я делаю? Если что я только начал указатели, условие задачи: Напишите функцию, которая запрашивает у пользователя его имя...

Ошибка 6 error C2664: strtok: невозможно преобразовать параметр 1 из "const char *" в "char *" - C++
string s = &quot;555 44 55 66&quot;;//размер строки заранее неизвестен char* p = strtok(s.c_str(), ' '); не нравится такое...

10
MILAN
886 / 780 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
14.03.2011, 17:22 #2
ijonhson, а что ваша функция должна делать?
0
ijonhson
47 / 47 / 1
Регистрация: 09.03.2011
Сообщений: 584
14.03.2011, 17:25  [ТС] #3
подсчитать количество букв в массиве введённом с клавиатуры
0
MILAN
886 / 780 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
14.03.2011, 17:32 #4
ijonhson,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <cctype>
#include <cstdlib>
#include <cstring>
using namespace std;
int func(char k[],const int size)
{
    int alp=0;
    for(int i=0; i<=strlen(k)-1; i++)
     {
        if(isalpha(k[i]))
        {
            alp++;
        }
     }
  return alp;
}
 
int main()
  {
    int z=0;
    char kl[64];
    cin>>kl;
    z=func(kl,64);
    cout<<z;
    system("pause");
    return 0;
  }
P.S Немного быдлокод, лутше бы на си написать.
2
Shyrik694
0 / 0 / 0
Регистрация: 14.03.2011
Сообщений: 11
14.03.2011, 17:35 #5
Согласен, лучше на си!
0
Ma3a
Эксперт С++
618 / 462 / 31
Регистрация: 28.01.2011
Сообщений: 605
14.03.2011, 17:39 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
А можно и так
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
 
int main()
    {
    std::vector<char> line((std::istream_iterator<char>(std::cin)),std::istream_iterator<char>());
    std::cout << "Letters count: " << std::count_if(line.begin(),line.end(),isalpha) << std::endl;
    }
3
ijonhson
47 / 47 / 1
Регистрация: 09.03.2011
Сообщений: 584
14.03.2011, 17:53  [ТС] #7
дякую,жаль конечно что попроще никак
0
talis
792 / 544 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
14.03.2011, 18:11 #8
ijonhson, почему никак?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
 
using namespace std;
 
unsigned cstr_lng( char * cstr )
{
    unsigned lng = 0;
 
    if( !cstr )
       return 0;
 
    for( unsigned i = 0; cstr[i] != 0; i++ )
       lng++;
 
    return lng;
}
 
int main( int argc, char ** argv )
{
    char str[64];
 
    cout << "Enter a string:\n>";
    cin.getline( str, 64 );
 
    cout << "Length of \"" << str << "\" = " << cstr_lng( str ) << endl;
 
    return 0;
}
Добавлено через 4 минуты
Можно ещё элегантней:

C++
1
2
3
4
5
6
7
8
9
10
11
12
unsigned cstr_lng( char * cstr )
{
    unsigned lng = 0;
 
    if( !cstr )
       return 0;
 
    for( ; *cstr != 0; cstr++ )
       lng++;
 
    return lng;
}
0
MILAN
886 / 780 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
14.03.2011, 18:12 #9
talis,
Цитата Сообщение от ijonhson Посмотреть сообщение
мне надо подсчитать количество букв
1
talis
792 / 544 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
14.03.2011, 18:15 #10
Да, извините, не заметил... Тогда так

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
unsigned cstr_lng( char * cstr )
{
    unsigned lng = 0;
 
    if( !cstr )
       return 0;
 
    for( ; *cstr != 0; cstr++ )
    {
       if( isalpha(*cstr) )
          lng++;
    }
 
    return lng;
}
ijonhson, собственно, ошибка ваша была в том, что у вас функция принимает один char, а вы пытаетесь с него запихнуть массив. Массивы передавайте по указателям.
1
ijonhson
47 / 47 / 1
Регистрация: 09.03.2011
Сообщений: 584
15.03.2011, 15:39  [ТС] #11
Премного благодарен всем, отдельное спасибо talis, поиск решений задач это конечно главное но без понимания ошибкок и кода в C++ делать нечего
0
15.03.2011, 15:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2011, 15:39
Привет! Вот еще темы с ответами:

Invalid conversion from 'const char*' to 'char' - C++
Здравствуйте. Смысл нижеприведенного кода - сосчитать количество запятых и точек во вводимом тексте. Редкостный быдлокод, неудивительно,...

Invalid conversion from ‘char’ to ‘const char*’ - C++
void checkFlag(int currArg, char argv, int msg_size){ if (strcmp(argv, &quot;-s&quot;) == 0) if ((msg_size = atoi(argv)) == 0) exitMe(); ...

Invalid conversion from ‘char**’ to ‘const char**’ - C++
Почему так? void deal(const int , const char *, const char *); int main() { char *suit = {&quot;Черви&quot;, &quot;Бубны&quot;, &quot;Трефы&quot;, &quot;Пики&quot;}; ...

Invalid conversion from 'char' to 'const char*' - C++
доброго всем время суток. при компиляции у меня выдаёт ошибку invalid conversion from 'char' to 'const char*' знаю, что я не правильно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru