Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
1 / 1 / 0
Регистрация: 06.11.2016
Сообщений: 58
1

Аргумент типа (const char*) несовместим с параметром типа (char*). Как исправить?

21.10.2018, 17:11. Просмотров 3321. Ответов 4
Метки нет (Все метки)

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
#include "Table.h"
#include "Contour.h"
#include "TwoShape.h"
#include <iostream>
 
int main()
{
 
    Contour circle;
    FillShape fillcircle;
    TwoShape twocircle;
    circle.load("Путь к файлу"); 
    fillcircle.load("C:\data\fillcircle.txt");
    twocircle.load("C:\data\twocircle.txt");
    Table <Contour> C;
    C.put_elem(circle);
    Contour circle2;
    C.ShowTree();
    int a;
    a = C.NumOfElem(80);
 
    Table <FillShape> F;
    F.put_elem(fillcircle);
    F.ShowTree();
    
    Table <TwoShape> T;
    T.put_elem(twocircle);
    T.ShowTree();
    T.get_elem(80);
    T.ShowTree();
    return 0;
}
Заголовок процедуры load
C++
1
void Contour::load(char* file_name)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.10.2018, 17:11
Ответы с готовыми решениями:

Аргумент типа const char* несовместим с параметром типа char* в классе
Данную ошибку находит в 74 - 76 строках, не могу понять что не так. #include &lt;iostream&gt; #include...

Ошибка: "аргумент типа const char несовместим с параметром типа char*"
Существует много файловый проект на с++ 1)feed.cpp 2)feed.h 3)Source.cpp В файле feed.h...

"Аргумент типа char несовместим с параметром типа const char"
Программа должна перевести все символы до * в число,но что то пошло не так. P.S прошу не ругать....

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

4
13712 / 7335 / 1751
Регистрация: 30.01.2014
Сообщений: 12,302
21.10.2018, 17:13 2
Цитата Сообщение от Антон2659 Посмотреть сообщение
Заголовок процедуры load
Ну так добавьте туда const.

Цитата Сообщение от Антон2659 Посмотреть сообщение
C++
1
2
fillcircle.load("C:\data\fillcircle.txt"); 
twocircle.load("C:\data\twocircle.txt");
Тут надо так:
C++
1
2
fillcircle.load("C:\\data\\fillcircle.txt"); 
twocircle.load("C:\\data\\twocircle.txt");
0
1 / 1 / 0
Регистрация: 06.11.2016
Сообщений: 58
21.10.2018, 18:36  [ТС] 3
я не могу добавить const, потому что придется все переделывать. У меня это работало, когда я путь с клавиатуры вводил

Добавлено через 21 минуту
Как в переменную типа char* поместить путь к файлу?
C++
1
char* a =...
0
13712 / 7335 / 1751
Регистрация: 30.01.2014
Сообщений: 12,302
21.10.2018, 18:49 4
Цитата Сообщение от Антон2659 Посмотреть сообщение
я не могу добавить const, потому что придется все переделывать.
Такова участь программиста. Если сделал неправильно - надо переделать.


C++
1
2
3
4
    char fname1[] = "C:\\data\\fillcircle.txt";
    char fname2[] = "C:\\data\\twocircle.txt";
    fillcircle.load(fname1);
    twocircle.load(fname2);
0
3300 / 2681 / 724
Регистрация: 25.03.2012
Сообщений: 9,683
Записей в блоге: 1
21.10.2018, 18:55 5
Цитата Сообщение от Антон2659 Посмотреть сообщение
я не могу добавить const, потому что придется все переделывать. У меня это работало, когда я путь с клавиатуры вводил
А если внезапно эта твоя функция
C++
1
2
3
4
5
6
7
void Contour::load(char* file_name)
{
strcpy(file_name,"Боги Винтервилля любили другие леса. Мрачный первобытный уголок, три акра старого леса, нетронутый в течение десяти тысяч лет, и мрачный, как гнездо хищной птицы, замок над ним. Тут пахло влажной земл"
"ёй и гниением. Тут не рос красный лес. Упрямые страж-деревья в серо-зелёных игольчатых шубах сменялись могучими дубами  и колоннами железоствола, древними как сама округа. Диана Таргариен родилась на "
"Драконьем Камне через девять месяцев после бегства, в жуткую лесную бурю, едва не уничтожившую островок."
);
}
захочет записать в file_name огромную строку через strcpy()?
всё - приехали? Краш из-за попытки изменения литеральной строки?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.10.2018, 18:55

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Ошибка (активно) E0167 аргумент типа "const char *" несовместим с параметром типа "char *"
Есть код программы. выдаёт ошибку при компилировании , ломаю голову третий день, помогите) ...

Аргумент типа "unsigned char*" несовместим с параметром типа "const char*"
int f(unsigned char s, unsigned char q) { N = strlen(s); //Ошибка тут... M = strlen(q); //...и...

Аргумент типа char (*)[1000] несовместим с параметром типа char**
Здравствуйте! Есть вот такая структура: #define max 1000 struct expr { char s; int...

Аргумент типа "const char *" несовместим с параметром типа "char *"
Sourse.cpp: #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &quot;Account.h&quot; using namespace std;...


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

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

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