Форум программистов, компьютерный форум CyberForum.ru

Ошибка invalid conversion from 'const char*' to 'char*' - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 68, средняя оценка - 5.00
Zzepish
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 14
27.11.2012, 02:27     Ошибка invalid conversion from 'const char*' to 'char*' #1
Я в С++ новенький. Поэтому опыта еще нет, да и знаний мало.
ПОдскажите пожалуйста, чего вылетает ошибка invalid conversion from 'const char*' to 'char*':
C++ (Qt)
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;
 
main(){
 
       char numbers[50];
       
       numbers[0]="Hi";
       numbers[1]="World";
       numbers[2]="!";
      
       for(int i=0, count=2;numbers[i]!=false;i++){
       
               cout<<numbers[i]<<"\n";
       
       }
            
       system("PAUSE");
       
       return 0;
 
}
p.s. кодю на DEV C++
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2012, 02:27     Ошибка invalid conversion from 'const char*' to 'char*'
Посмотрите здесь:

invalid conversion from ‘char’ to ‘const char*’ C++
C++ ошибка:20 invalid conversion from `char*' to `char'
invalid conversion from 'const char*' to 'char' C++
C++ Invalid conversion from `int' to `const char*'
C++ Invalid conversion from 'char' to 'const char*'
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,410
27.11.2012, 02:30     Ошибка invalid conversion from 'const char*' to 'char*' #2
Элементы массива numbers - это char, а не chars. Ты пихаешь на место одной буквы несколько.
Возвращаемый тип функции надо указывать явно.

Добавлено через 1 минуту
И наверняка ведь ругается не так, как ты указал, а invalid conversion from 'const char*' to 'char'
Zzepish
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 14
27.11.2012, 02:37  [ТС]     Ошибка invalid conversion from 'const char*' to 'char*' #3
Цитата Сообщение от MrGluck Посмотреть сообщение
Элементы массива numbers - это char, а не chars. Ты пихаешь на место одной буквы несколько.
Возвращаемый тип функции надо указывать явно.
исправил на chars- вообще нет такого определения. Сделал:
C++
1
2
3
numbers[0]="H";
       numbers[1]="W";
       numbers[2]="!";
по одному символу- все-равно ругается.
Цитата Сообщение от MrGluck Посмотреть сообщение
Добавлено через 1 минуту
И наверняка ведь ругается не так, как ты указал, а invalid conversion from 'const char*' to 'char'.
Действительно, ошибся

Добавлено через 2 минуты
MrGluck, омг. исправил на
C++
1
 char * numbers[50];
и все заработало. Почему так?
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,410
27.11.2012, 02:40     Ошибка invalid conversion from 'const char*' to 'char*' #4
Цитата Сообщение от Zzepish Посмотреть сообщение
исправил на chars- вообще нет такого определения. Сделал:
C++
1
2
3
numbers[0]="H";
       numbers[1]="W";
       numbers[2]="!";
по одному символу- все-равно ругается.

Действительно, ошибся

Добавлено через 2 минуты
MrGluck, омг. исправил на
C++
1
 char * numbers[50];
и все заработало. Почему так?
chars не существует. Есть char (буква), есть массив букв, char* . Теперь вы создаете массив из 50 массивов букв.
Элемент массива под индексом 0 теперь массив букв и туда благополучно влезет все, что вы задаете в скобках. Раньше это была лишь одна буква (char) и то, что стояло справа от = просто не влезало.

Добавлено через 44 секунды
по одному символу- все-равно ругается.
C++
1
2
3
numbers[0]='H';
numbers[1]='W';
numbers[2]='!';
Zzepish
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 14
27.11.2012, 02:41  [ТС]     Ошибка invalid conversion from 'const char*' to 'char*' #5
Цитата Сообщение от MrGluck Посмотреть сообщение
chars не существует. Есть char (буква), есть массив букв, char* . Теперь вы создаете массив из 50 массивов букв.
Элемент массива под индексом 0 теперь массив букв и туда благополучно влезет все, что вы задаете в скобках. Раньше это была лишь одна буква (char) и то, что стояло справа от = просто не влезало.

Добавлено через 44 секунды


C++
1
2
3
numbers[0]='H';
numbers[1]='W';
numbers[2]='!';
Благодарю) но почему на ВЫ)
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,410
27.11.2012, 02:48     Ошибка invalid conversion from 'const char*' to 'char*' #6
Цитата Сообщение от Zzepish Посмотреть сообщение
Благодарю) но почему на ВЫ)

Не по теме:

Стараюсь с незнакомыми людьми на вы, правда под вечер за этим не уследить и метод обращения скачет туда-сюда.

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2012, 03:11     Ошибка invalid conversion from 'const char*' to 'char*'
Еще ссылки по теме:

C++ invalid conversion from ‘char**’ to ‘const char**’
Ошибка С2446 no conversion from 'const char *' to '_TCHAR *' C++
Несовместимость типов данных: Error:invalid conversion from 'int' to 'const char*' C++

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

Или воспользуйтесь поиском по форуму:
Zzepish
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 14
27.11.2012, 03:11  [ТС]     Ошибка invalid conversion from 'const char*' to 'char*' #7
MrGluck, Вы- множественное число)
Давай на ты (я, ведь, один, да и каждый в единственном числе)

Добавлено через 10 минут
MrGluck, А в пм как написать?
Yandex
Объявления
27.11.2012, 03:11     Ошибка invalid conversion from 'const char*' to 'char*'
Ответ Создать тему
Опции темы

Текущее время: 13:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru