![]() |
|
Модераторы: bsa |
![]()
|
|
| AlexeySheglov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 26.3.2009 Репутация: нет Всего: нет |
Помогите исправить выдает ошибку error C2440: '=' : cannot convert from 'void *' to 'char **'. |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
Это сообщение отредактировал(а) jonie - 3.6.2009, 19:16 -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| fry |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 4.10.2006 Репутация: 2 Всего: 3 |
Может так будет понятнее:
Необходимо: - привести void* к char_ptr и - убрать лишнее обозначение указателя, т.е. "char_ptr *p" исправить на "char_ptr p" или - выбрать элемент твоего массива из char_ptr (перед этим выделив под него память), например так: p[n] При этом
sizeof (char **) помоему попахивает косяком. Не находишь? Это сообщение отредактировал(а) fry - 3.6.2009, 19:58 |
||||||
|
|||||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| fry |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 4.10.2006 Репутация: 2 Всего: 3 |
Ну если выделяется место под двумерный массив типа char, то все ОК.
Именно потому, что не в курсе намерений автора я не стал утверждать. Однако:
явно не гуд. Добавлено через 4 минуты и 58 секунд Если по нормальному судить: Функция возвращяет указатель на область памяти, а автору нужен массив на указатели на эту самую область Это сообщение отредактировал(а) fry - 3.6.2009, 20:06 |
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 12 Всего: 72 |
В большинстве случаев (если не во всех) sizeof(char**) == sizeof(char*), но вообще-то нужно писать
|
|||
|
||||
| AlexeySheglov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 26.3.2009 Репутация: нет Всего: нет |
Спасибо большое. норм все. работает.
|
|||
|
||||
| fry |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 4.10.2006 Репутация: 2 Всего: 3 |
Помогло
вместо
???? Проблема была ведь с
Или явное задание компиллятору преобразования исправило ситуацию? |
||||||||
|
|||||||||
| AlexeySheglov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 26.3.2009 Репутация: нет Всего: нет |
нет, помогло именно 1: p=calloc(
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |