Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
faik626
0 / 0 / 0
Регистрация: 07.06.2018
Сообщений: 3
1

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

07.06.2018, 15:48. Просмотров 1510. Ответов 3
Метки нет (Все метки)

делал задание, но на строке 36 строке пишет, что "char *concat(char *,...)": невозможно преобразовать аргумент 1 из "const char [4]" в "char *", и ещё сверху добавляет, что "аргумент типа "const char *" несовместим с параметром типа "char *". Я впервые с такими ошибками сталкиваюсь, поэтому даже не представляю, что править(

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
31
32
33
34
35
36
37
38
39
40
41
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
char* concat(char *s, ...)
{
    char* output_buffer = NULL;
    //получаем первый аргумент
    char* current_arg = s;
    //длина результирующей строки
    size_t current_length = 0;
    size_t arg_size = 0;
    va_list vl;
 
    va_start(vl, s);
 
    while (current_arg != NULL)
    {
        //определяем длину строка аргумента
        arg_size = strlen(current_arg) + 1;
        //добавляем к результирующей сроке
        output_buffer = (char*)realloc(output_buffer, current_length + arg_size);
        memcpy(output_buffer + current_length, current_arg, arg_size);
        current_length += arg_size - 1;
        //получаем следующий аргумент
        current_arg = va_arg(vl, char*);
    }
    va_end(vl);
 
    return output_buffer;
}
 
int main()
{
    char* concated = concat("123", "456", "789", NULL);
    printf("%s\n", concated);
    free(concated);
    system("pause");
    return 0;
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2018, 15:48
Ответы с готовыми решениями:

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

Невозможно преобразовать аргумент 1 из "const char" в "char *"
Задание прикрепила ниже картинкой. Пробежалась по форуму похожего не нашла. Никак не могу...

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;...

Error C2440: инициализация: невозможно преобразовать "const char [12]" в "char *"
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; void...

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

3
nmcf
6535 / 5758 / 2622
Регистрация: 14.04.2014
Сообщений: 24,498
07.06.2018, 16:01 2
Сделай параметр const.
0
faik626
0 / 0 / 0
Регистрация: 07.06.2018
Сообщений: 3
07.06.2018, 16:48  [ТС] 3
сделал параметр с const, теперь 10 строка начала кричать:

C
1
char* current_arg = s;
значение типа "const char *" нельзя использовать для инициализации сущности типа "char *" и "инициализация: невозможно преобразовать "const char *" в "char *".
0
nmcf
6535 / 5758 / 2622
Регистрация: 14.04.2014
Сообщений: 24,498
07.06.2018, 18:39 4
И там тоже const.
0
07.06.2018, 18:39
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2018, 18:39

Невозможно преобразовать параметр 2 из "char" в "const char *"
Ошибка strcpy: невозможно преобразовать параметр 2 из &quot;char&quot; в &quot;const char *&quot; //удаления из...

Ошибка "значение типа "const char [81]" нельзя использовать для инициализации сущности типа "const unsigned char [61]"
Прошу помощи, так как раньше прога работала, сейчас решил вернуться и выдает ошибку: #pragma once...

Найти причины возникновения ошибки: аргумент типа "const char *" несовместим с параметром типа "char *"
Есть вот такая функция: в файле test.h extern UFUNEXPORT int UF_print_syslog( char...


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

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

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