С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
 Аватар для Ryuk
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871

Invalid conversion from ‘char**’ to ‘const char**’

14.11.2013, 06:31. Показов 3349. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Почему так?
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
void deal(const int [][13], const char *[], const char *[]);
 
int main()
{
    char *suit[4] = {"Черви", "Бубны", "Трефы", "Пики"};
    char *face[13] = {"Туз", "Двойка", "Тройка", "Четверка",
                      "Пятерка", "Шестерка", "Семерка",
                      "Восьмерка", "Девятка", "Десятка",
                      "Валет", "Дама", "Король"};
    int deck[4][13] = {0};
 
    srand(time(NULL));
 
    shuffle(deck);
    deal(deck, face, suit);
 
    return 0;
}
 
void deal(const int wDeck[][13], const char *wFace[],
          const char *wSuit[])
{
      /*....*/
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.11.2013, 06:31
Ответы с готовыми решениями:

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

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

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

17
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
14.11.2013, 07:27
В чём проблема? Объяви suit и face как const char * suit[],
тем более, что он и является массивом указателей на константы на самом деле!
0
37 / 31 / 4
Регистрация: 21.10.2013
Сообщений: 197
14.11.2013, 08:22
Мне в такой ситуации посоветовали заменить кавычки на апострофы и заработало.
0
859 / 448 / 112
Регистрация: 06.07.2013
Сообщений: 1,491
14.11.2013, 10:18
Цитата Сообщение от Angeline Посмотреть сообщение
Мне в такой ситуации посоветовали заменить кавычки на апострофы и заработало.
Где заменить, при объявлении?
0
37 / 31 / 4
Регистрация: 21.10.2013
Сообщений: 197
14.11.2013, 11:07
Raali, там где присваиваешь значения, в данном случае при объявлении.
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
14.11.2013, 11:19
Цитата Сообщение от Angeline Посмотреть сообщение
Мне в такой ситуации посоветовали заменить кавычки на апострофы и заработало.
Жесть какая! Кто ж тебя программировать так учил, заменяя кавычки на авось? Одинарные и двойные кавычки в Си это две большие разницы, и надо не менять их абы как, а просто знать, что символьные константы заключаются в одинарные кавычки, а строковые литералы в двойные!!!

Что-то заменять бесполезно.
0
37 / 31 / 4
Регистрация: 21.10.2013
Сообщений: 197
14.11.2013, 11:56
Kuzia domovenok, сама учусь в меру сил. Была такая же ошибка. Создавала такую же тему. Только у меня там не указатели были правда, а просто массивы char в const char не хотели. Ну вот мне и посоветовали поменять. Поменяла - заработало.

Добавлено через 27 секунд
Kuzia domovenok, и не надо так агрится, неприятно.
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
14.11.2013, 12:50
Цитата Сообщение от Angeline Посмотреть сообщение
Поменяла - заработало.
Так покажите что Вы и где меняли. Вероятно там речь идет совершенно о другом.
0
 Аватар для Ryuk
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
14.11.2013, 15:37  [ТС]
Kuzia domovenok, почему тогда в книгах пишут именно так? Просто поставить константу, это лишает нас возможности менять что-то..
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
14.11.2013, 15:44
Цитата Сообщение от Ryuk Посмотреть сообщение
Просто поставить константу, это лишает нас возможности менять что-то..
А вы и не имеете права менять данные строковых литералов. Это ведет к UB.

Цитата Сообщение от Ryuk Посмотреть сообщение
почему тогда в книгах пишут именно так?
В каких? Цитата и ссылка не помешали бы.
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
14.11.2013, 15:49
Ryuk, а что, до этого (без константы) возможность менять что-то, можно подумать, была?
Это же строковые литералы! запусти это!
C++
1
2
3
4
5
6
7
8
9
int main(){
    setLocale(LC_ALL, "Russian");
    char *suit[4] = {"Черви", "Бубны", "Трефы", "Пики"};
    cout<<suit[0]<<endl;//"Черви"
    suit[0][1]='у';          //нельзя
    suit[0][3]='к';          //нельзя
    cout<<suit[0]<<endl;//"Чурки"
    return 0;
}
0
 Аватар для Ryuk
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
14.11.2013, 16:07  [ТС]
Tulosba, где-то приводил уже. В Дейтелах, в K&R и т.д.
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
14.11.2013, 16:10
Цитата Сообщение от Ryuk Посмотреть сообщение
Tulosba, где-то приводил уже. В Дейтелах, в K&R и т.д.
возможно ты путаешь эти две большие разницы
C++
1
2
char *suit="Черви";
char suit[]="Черви";
0
 Аватар для Ryuk
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
14.11.2013, 16:38  [ТС]
Kuzia domovenok, никак нет)
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
14.11.2013, 17:12
Ryuk, K&R вообще к плюсам не относится. Там и const не было нормального.
0
 Аватар для Ryuk
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
14.11.2013, 17:29  [ТС]
Tulosba, в Дейтелах по С++
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
14.11.2013, 17:55
Цитата Сообщение от Ryuk Посмотреть сообщение
в Дейтелах по С++
Ну так можно ссылку на страницу/издание, или просто скрин сюда кинуть?
0
 Аватар для Ryuk
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
14.11.2013, 20:15  [ТС]
Tulosba, сейчас нашел издание 2008 года, там все исправлено. Вопрос может быть снят.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.11.2013, 20:15
Помогаю со студенческими работами здесь

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

Invalid conversion from ‘char’ to ‘const char*’
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 'const char*' to 'char'
Здравствуйте. Смысл нижеприведенного кода - сосчитать количество запятых и точек во вводимом тексте. Редкостный быдлокод, неудивительно,...

Invalid conversion from `int' to `const char*'
Здравствуйте.Возникла проблема с типами данных, пытался решить - стало хуже...:wall: Вот сам код: #include &lt;iostream&gt; ...

Несовместимость типов данных: Error:invalid conversion from 'int' to 'const char*'
Код для ардуинки. #include &lt;VirtualWire.h&gt; const int led_pin = 13; const int transmit_pin = 12; void setup() { ...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru