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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 68, средняя оценка - 5.00
Zzepish
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 14
#1

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

27.11.2012, 02:27. Просмотров 9113. Ответов 6
Метки нет (Все метки)

Я в С++ новенький. Поэтому опыта еще нет, да и знаний мало.
ПОдскажите пожалуйста, чего вылетает ошибка 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++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6228 / 3473 / 425
Регистрация: 29.11.2010
Сообщений: 9,178
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
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6228 / 3473 / 425
Регистрация: 29.11.2010
Сообщений: 9,178
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
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6228 / 3473 / 425
Регистрация: 29.11.2010
Сообщений: 9,178
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*'
Еще ссылки по теме:

Ошибка С2446 no conversion from 'const char *' to '_TCHAR *' C++
Несовместимость типов данных: Error:invalid conversion from 'int' to 'const char*' C++
C++ [Ошибка] invalid conversion from 'const char*' to 'char*' [-fpermissive]
Работа со строками - Invalid conversion from 'char' to 'const char*' C++
C++ Error: invalid conversion from 'char' to 'char*' [-fpermissive]|

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

Или воспользуйтесь поиском по форуму:
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*'
Ответ Создать тему
Опции темы

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