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

Аргумент типа char (*)[1000] несовместим с параметром типа char**

04.10.2013, 00:59. Просмотров 2159. Ответов 2
Метки нет (Все метки)

Здравствуйте!
Есть вот такая структура:
C
1
2
3
4
5
6
#define max 1000
struct expr
    {
        char s[MAX][MAX];
        int index;
    };
В основной функции есть следующий фрагмент:

C
1
2
3
4
char s[]="-5+(-3.4+3*(-2))";
struct expr e;
e.index=0;
putCh(&(e.s[e.index++]),s[0]);  //(*)
А вот функция putCh, которая по идее должна заменять содержимое строки s на символ c

C
1
2
3
4
5
6
void putCh(char** s, char c)
{
    char ch[2];
    ch[0]=c; ch[1]='\0';
    strcpy(*s,ch);
}
Выдает ошибку в строке (*) "Аргумент типа char (*)[1000] несовместим с параметром типа char**".
Что не так? Вроде &(e.s[e.index++]) - адрес строки, и char** - тоже, все нормально. В чем беда?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.10.2013, 00:59
Ответы с готовыми решениями:

Аргумент типа (const char*) несовместим с параметром типа (char*). Как исправить?
#include "Table.h" #include "Contour.h" #include "TwoShape.h" #include <iostream> int...

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

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

Аргумент типа char * несовместим с параметром типа lpcwstr
Как решить ошибку компиляции, на втором компьютере студия ошибок не вызывает, что странно. ...

2
221 / 221 / 38
Регистрация: 17.12.2010
Сообщений: 713
04.10.2013, 01:49 2
Лучший ответ Сообщение было отмечено sanyo как решение

Решение

сделайте так...
C++
1
2
3
4
5
6
7
8
void putCh(char* s, char c)
{
    char ch[2];
    ch[0]=c; ch[1]='\0';
    strcpy(s,ch);
} 
 
    putCh(e.s[e.index++],s[0]); // вызов
Добавлено через 31 минуту
и вот сюда обратите внимание
0
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 6
04.10.2013, 23:11  [ТС] 3
Спасибо, я все понял. Что бы передать массив по ссылке, не нужно дополнительно брать адрес=)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.10.2013, 23:11

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

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

Ошибка "аргумент типа char несовместим с параметром типа char*"
#include <iostream> using namespace std; const int N=4; //размер очереди struct Queue { int...

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

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


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

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

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