Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2011, 12:28   #1
Mrbober
Пользователь
 
Регистрация: 18.02.2011
Сообщений: 24
По умолчанию error C2440....

Добрый день.... Мне дали задания седлать даную лабу, она очень проста

Код:
#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h> 
int main(void)
{
  char *p;
  p = malloc(17);
  if(!p) {
    printf("Ошибка при распределения памяти\n");
    exit(1);
  }

  strcpy(p, "Это - 17 символ");

  p = realloc(p, 18);
  if(!p) {
    printf("Ошибка при распределения памяти\n");
    exit(1);
  }

  strcat(p, ".");

  printf(p);

  free(p);

  return 0;
}


Но вылетает ошибка
error C2440: '=' : cannot convert from 'void *' to 'char *'
Conversion from 'void*' to pointer to non-'void' requires an explicit cast


Как исправить её, если я не ошибаюсь компилятор компилирует её как С++
а у меня обычный С.... и нужно чтото сдделать вроде (void*, char)... Моглибо вы сказать поточнее как мне её исправить....

Последний раз редактировалось Stilet; 15.03.2011 в 15:00.
Mrbober вне форума Ответить с цитированием
Старый 15.03.2011, 12:49   #2
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Используй другой компилятор, в коде всё правильно. Это в C++ надо преобразовывать тип указателя, а в Си не надо.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 16.03.2011, 00:37   #3
Mrbober
Пользователь
 
Регистрация: 18.02.2011
Сообщений: 24
По умолчанию

Всё нашол в интернете нужно просто изменить
p =(char*) realloc(p, 18);
Mrbober вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
error C2440. Как конвертировать в 'void ' из 'char ' Mrbober Общие вопросы C/C++ 4 14.03.2011 22:43
Периодическая ошибка Run-time error -2147417848 (80010108) Automation error в файле с макросом faraviper Microsoft Office Excel 0 24.02.2011 16:23
классы - Error 3 error C2228: left of '.BlockAll' must have class/struct/union c:\documents and settings\ Dimarik Visual C++ 1 08.02.2011 15:16
error C2440 Zhivu igrayuchi Общие вопросы C/C++ 2 18.11.2010 21:44
Ищу причину ошибки: Error in loading DLL, она же Error 48. hozpraktik Microsoft Office Excel 1 19.11.2009 12:39