| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Прошу помочь исправить ошибу типов |
| Автор: AlexeySheglov 3.6.2009, 18:11 | ||
Помогите исправить выдает ошибку error C2440: '=' : cannot convert from 'void *' to 'char **'. |
| Автор: jonie 3.6.2009, 19:15 | ||
|
| Автор: fry 3.6.2009, 19:58 | ||||||
Может так будет понятнее:
Необходимо: - привести void* к char_ptr и - убрать лишнее обозначение указателя, т.е. "char_ptr *p" исправить на "char_ptr p" или - выбрать элемент твоего массива из char_ptr (перед этим выделив под него память), например так: p[n] При этом
sizeof (char **) помоему попахивает косяком. Не находишь? |
| Автор: jonie 3.6.2009, 20:02 | ||
|
| Автор: fry 3.6.2009, 20:05 | ||
| Ну если выделяется место под двумерный массив типа char, то все ОК. Именно потому, что не в курсе намерений автора я не стал утверждать. Однако:
явно не гуд. Добавлено через 4 минуты и 58 секунд Если по нормальному судить: Функция возвращяет указатель на область памяти, а автору нужен массив на указатели на эту самую область |
| Автор: math64 4.6.2009, 10:21 | ||
В большинстве случаев (если не во всех) sizeof(char**) == sizeof(char*), но вообще-то нужно писать
|
| Автор: AlexeySheglov 4.6.2009, 13:02 |
| Спасибо большое. норм все. работает. |
| Автор: fry 4.6.2009, 13:57 | ||||||||
Помогло
вместо
???? Проблема была ведь с
Или явное задание компиллятору преобразования исправило ситуацию? |
| Автор: AlexeySheglov 4.6.2009, 18:18 |
| нет, помогло именно 1: p=calloc( |