Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Передача по ссылке или по указателю http://www.cyberforum.ru/cpp-beginners/thread2260772.html
Класс А здесь минимальный в реальности у него много переменных. Как лучше поступить в таком случае? Удобнее выпольнить передачу по ссылке, но не наложит ли это доп. расходов из-за операции...
C++ Не могу запустить дебаг, файл возвращается на каталог назад
В общем. пытаюсь запустить дебаг, выдает ошибку. Оказалось что файл сам компилируется в каталоге lib после чего переносится на уровень назад в каталог win32_release. Зашел в настройки и в поле...
C++ блок-схема алгоритма в С+++
Помогите пожалуйста сделать блок схему для этого алгоритма: #include <stdlib.h> #include <stdio.h> #include <time.h> #include <conio.h> int main () { int *a, n;
C++ Заполнение матрицы змейкой Дано натуральное N (1<=N<=10), целочисленный квадратный массив-матрица (aij), 0<= i ,j <N. Матрица заполнена случайными числами из диапазона 1 2 3 4 5 16 19 22 25 6 15 18 21 24 7 14 17 20 23 8... http://www.cyberforum.ru/cpp-beginners/thread2260739.html
C++ Вывести информацию в заданном формате без регулярных выражений http://www.cyberforum.ru/cpp-beginners/thread2260736.html
Задан vector<string> содержащий url. Например: std::vector<std::string> url; url.push_back("http://example.com/index.html"); url.push_back("https://example.com:8080/"); ...
Как создать двумерный массив строк C++
Добрый день. Я хочу сделать двумерный массив строк, создаю его, но при выводе нужно перегрузить оператор вывода(<<), как его перегрузить для этого, или какую библеотеку посоветуете? const int...
C++ Рандомное заполнение динамического двумерного массива
Здравствуйте не получается корректно заполнить динамический двумерный массив. Много нулей и единиц при выводе. Как исправить что бы было больше разных чисел? Спасибо . #include <iostream> #include...
C++ Записать матрицу чисел в файл, вывести элементы побочной диагонали Записать в файл данные в виде матрицы чисел. Прочитать их оттуда и вывести на экран элементы боковой диагонали. http://www.cyberforum.ru/cpp-beginners/thread2260713.html
C++ Переписать в другой файл все компоненты, которые стоят на четных местах http://www.cyberforum.ru/cpp-beginners/thread2260711.html
Создать файл Х компоненты которого являются элементами масива М. Переписать из файла Х в файл Y все компоненты, которые стоят на четных местах. Прочесть файл Y. M=(0,1; 5,6; 0,8; 2,4; 7,3;6,8; 0,5;...
C++ Дано целое число k и текстовый файл. Удалить из файла строку с номером k Дано целое число k и текстовый файл. Удалить из файла строку с номером k. Если строки с таким номером нет, то оставить файл без изменений http://www.cyberforum.ru/cpp-beginners/thread2260709.html
faik626
0 / 0 / 0
Регистрация: 07.06.2018
Сообщений: 3
0

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

07.06.2018, 15:48. Просмотров 1740. Ответов 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;
}


Вернуться к обсуждению:
Ошибка: "char *concat(char *,.)": невозможно преобразовать аргумент 1 из "const char [4]" в "char *"
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
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.