Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
1 / 1 / 0
Регистрация: 19.06.2018
Сообщений: 173
1

Значение const char* нельзя присвоить типу char*

07.10.2019, 17:13. Показов 1258. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C++
1
2
3
4
void hey(CandyBar& lol, char* name, double* wes, int* kal) {
    if (name == NULL) name = "Milasd";
 
}
Хотел поставить значение по умолчанию,но выдает ошибку
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.10.2019, 17:13
Ответы с готовыми решениями:

Значение типа const char * нельзя присвоить сущности типа char *
Добрый день. Я новичок в c++ и столкнулся с проблемой при написании маленькой программы. Собственно...

Ошибка: значение типа "const char *" нельзя использовать для инициализации сущности типа "char *
int main(int argc, char* argv) { char* filename = argc == 2 ? argv : "Image0.jpg"; } ...

error C2440: =: невозможно преобразовать 'const char *' в 'char *'
есть вот такой кусок кода int getLex(){ int i = iCurrPos; char strLex, * cp; int j; while...

Error c2440: невозможно преобразовать 'const char [2]' в 'char'
С недавних пор я решил почитать и поучиться программировать, так сказать занять себя чем нибудь...

5
6770 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
07.10.2019, 20:13 2
Цитата Сообщение от shuraros1 Посмотреть сообщение
Значение const char* нельзя присвоить типу char*
Сделай
void hey(CandyBar& lol, const char* name, double* wes, int* kal)
0
1 / 1 / 0
Регистрация: 19.06.2018
Сообщений: 173
07.10.2019, 21:18  [ТС] 3
но тогда name станет константой ,и я не смогу его изменить.
0
6770 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
07.10.2019, 21:30 4
Цитата Сообщение от shuraros1 Посмотреть сообщение
но тогда name станет константой ,и я не смогу его изменить.
const относится к содержимому строки, а не к указателю. Ты его, содержимое, вроде и не меняешь. Т.е. не делаешь name[1] = 'X';
0
1 / 1 / 0
Регистрация: 19.06.2018
Сообщений: 173
07.10.2019, 22:06  [ТС] 5
Вы хотите сказать,что я меняю лишь адрес?
0
6770 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
07.10.2019, 22:10 6
Цитата Сообщение от shuraros1 Посмотреть сообщение
Вы хотите сказать,что я меняю лишь адрес?
Да. Это указатель на константную строку, его можно можно менять. Саму строку - нельзя.
0
07.10.2019, 22:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.10.2019, 22:10
Помогаю со студенческими работами здесь

Невозможно преобразовать параметр 2 из 'char' в 'const char *
Уважаемые господа программисты,как преобразовать тип переменной из 'char' в 'const char *'? ...

Невозможно преобразовать параметр 1 из 'const char [3]' в 'const wchar_t *
void CprojectDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { // TODO: добавьте...

Пишет: "Несовместимые типы операндов "char" и "const char*"". Что делать?
#include "stdafx.h" #include <ctime> #include <iostream> #include <conio.h> #include <locale.h>...

Ошибка E0167 аргумент типа "unsigned char *" несовместим с параметром типа "const char *"
Всем привет, подскажите пожалуйста, в проекте MS Visual Studio 2017 напротив строчки...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru