Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
kLeimor
5 / 5 / 5
Регистрация: 15.05.2012
Сообщений: 66
Завершенные тесты: 2
1

Error C2440: инициализация: невозможно преобразовать "const char [12]" в "char *"

15.04.2018, 21:29. Просмотров 748. Ответов 2
Метки нет (Все метки)

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
29
30
#include "stdafx.h"
#include <iostream>
#include <conio.h>
 
using namespace std;
 
void str_len(char* str)
{
    int i = 0;
    while (!(str[i]='\0'))
    {
        i++;
    }
    cout << "Длина строки = ";
}
 
int main()
{
    setlocale(LC_ALL, "rus");
 
    char* str = "ЙЦУКЕНГШЛД?"; // как сделать так, что бы компилятор не выдавал тут ошибки?
 
    cout << str << endl;
 
    str_len(str);
 
 
    _getch();
    return 0;
}
Работаю в Visual Studio 17. У многих видел такой код в уроках. Связываю ошибку с различием версий.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2018, 21:29
Ответы с готовыми решениями:

Error C2440: return: невозможно преобразовать "const char *" в "const char (&)[6]"
Вроде все правильно а все равно не работает. Подскажите в чем ошибка #include &lt;iostream&gt; ...

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

error C2664: strcmp: невозможно преобразовать параметр 1 из "char (*)[20]" в "const char *"
for(int i = 0; i&lt; 5; i++) { wr_struc (list); if (strcmp(&amp;list.Sostav,osn_sostav)==0 &amp;&amp;...

Ошибка: "char *concat(char *,.)": невозможно преобразовать аргумент 1 из "const char [4]" в "char *"
делал задание, но на строке 36 строке пишет, что &quot;char *concat(char *,...)&quot;: невозможно...

Error C2664: atoi: невозможно преобразовать параметр 1 из "_TCHAR *" в "const char *" Как исправить эту ошибку в коде?
#include &quot;stdafx.h&quot; #define _XOPEN_SOURCE 500 #include &lt;conio.h&gt; #include &lt;stdio.h&gt;...

2
Новичок
Модератор
1573 / 1032 / 479
Регистрация: 17.07.2012
Сообщений: 5,208
Завершенные тесты: 3
15.04.2018, 21:41 2
Цитата Сообщение от kLeimor Посмотреть сообщение
У многих видел такой код в уроках.
Урок так себе. В 21 строке нужно const дописать. В 7 строке тоже.

Добавлено через 1 минуту
Где-то были хорошие посты на эту тему(про Сишные строки и указатели), возможно позже кину, а может другой кто-то кинет.
1
kLeimor
5 / 5 / 5
Регистрация: 15.05.2012
Сообщений: 66
Завершенные тесты: 2
15.04.2018, 21:46  [ТС] 3
Спасибо) Если скинете ссылку, то будет очень круто)
теперь всё работает
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
29
30
#include "stdafx.h"
#include <iostream>
#include <conio.h>
 
using namespace std;
 
void str_len(const char* str)
{
    int i = 0;
    while (!(str[i]=='\0'))
    {
        i++;
    }
    cout << "Длина строки = " << i;
}
 
int main()
{
    setlocale(LC_ALL, "rus");
 
    const char*str = "ЙЦУКЕНГШЛД?";
 
    cout << str << endl;
 
    str_len(str);
 
 
    _getch();
    return 0;
}
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.04.2018, 21:46

Error C2440 невозможно преобразовать "void *" в "char *
Уважаемые форумчане. Не могу понять почему ему не нравятся указатели. Запускал прогу на разных...

Error C2440 невозможно преобразовать "void *" в "char * - C++
Добрый день Подскажите из за чего может быть эта ошибка? static cell AMX_NATIVE_CALL...

Error C2440: инициализация: невозможно преобразовать "void *" в "listnode *". подскажите, что можно сделать?
#include &lt;iostream&gt; struct listnode { char *data; int value; struct listnode *next; };...


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

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

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