Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.88
StrDmVal
0 / 0 / 0
Регистрация: 02.03.2010
Сообщений: 9
#1

malloc - cannot convert from 'void *' to 'double *' - C++

15.03.2010, 11:24. Просмотров 2027. Ответов 4
Метки нет (Все метки)

Здравствуйте. У меня тут текст программы для дискретного преобразования Фурье. Проблему составляют строчки, где есть комменты . Я смотрел в описании функции, вроде всё правильно.Но MS Visual St 2008 c++ упрямо выдает ошибку:cannot convert from 'void *' to 'double *'
В чём может быть причина?
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
33
34
35
36
37
38
39
40
41
42
43
44
45
int DFT(int dir,int m,double *x1,double *y1)
{
   long i,k;
   double arg;
   double cosarg,sinarg;
 
   double *x2=NULL,*y2=NULL;
 
 
   x2 = malloc(m * sizeof(double));///Вот в этих двух строчках выдаёт ошибку
   y2 = malloc(m * sizeof(double));/// 
 
 
   if (x2 == NULL || y2 == NULL)
      return(0);
 
   for (i=0;i<m;i++) {
      x2[i] = 0;
      y2[i] = 0;
      arg = - dir * 2.0 * 3.141592654 * (double)i / (double)m;
      for (k=0;k<m;k++) {
         cosarg = cos(k * arg);
         sinarg = sin(k * arg);
         x2[i] += (x1[k] * cosarg - y1[k] * sinarg);
         y2[i] += (x1[k] * sinarg + y1[k] * cosarg);
      }
   }
 
   /* Copy the data back */
   if (dir == 1) {
      for (i=0;i<m;i++) {
         x1[i] = x2[i] / (double)m;
         y1[i] = y2[i] / (double)m;
      }
   } else {
      for (i=0;i<m;i++) {
         x1[i] = x2[i];
         y1[i] = y2[i];
      }
   }
 
   free(x2);
   free(y2);
   return(1);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2010, 11:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос malloc - cannot convert from 'void *' to 'double *' (C++):

Какая-нибудь реализация функции void Fun (double in, double *out) - C++
Подскажите, пожалуйста, какую-нибудь любую реализацию прототипа функции: void Fun (double in, double *out)

Malloc. Конвертировать void в int. - C++
вот код #include &lt;vcl.h&gt; #pragma hdrstop #include &lt;iostream.h&gt; ...

Cannot convert 'void' to 'bool' - C++
Всем привет! Уважаемые программисты подскажите пожалуйста, при компиляции ошибка Unit1.cpp(21): E2034 Cannot convert 'void' to 'bool'...

Исправить ошибки "cannot convert 'double (*)(double)' to 'double'" и "too many arguments to function" - C++
пожалуйста проверьте и помогите исправить ошибки: #include&lt;iostream&gt; #include&lt;stdio.h&gt; #include&lt;math.h&gt; #include&lt;stdlib.h&gt; ...

Ошибка Cannot convert std::string to void* - C++
Не могу сконвертировать строку в void*: std::string str; (void*)str; Вернее invalid cast from type std::string to type void* ...

error C2440: 'delete' : cannot convert from 'Song' to 'void *' - C++
Строка, где выдаётся ошибка: delete mas; Деструктор: Song::~Song () { delete song; delete perf; delete desc; }

4
oxotnik
1591 / 1068 / 33
Регистрация: 21.08.2008
Сообщений: 4,545
Записей в блоге: 1
15.03.2010, 11:32 #2
Код
x2 = (void*)malloc(m * sizeof(double));
y2 = (void*)malloc(m * sizeof(double));
0
Lord_Voodoo
Супер-модератор
8594 / 2211 / 61
Регистрация: 07.03.2007
Сообщений: 10,974
Завершенные тесты: 1
15.03.2010, 11:36 #3
C++
1
2
x2 = (double*)malloc(m * sizeof(double));
y2 = (double*)malloc(m * sizeof(double));
1
oxotnik
1591 / 1068 / 33
Регистрация: 21.08.2008
Сообщений: 4,545
Записей в блоге: 1
15.03.2010, 11:40 #4
упс... ошибся, прошу удалить
0
StrDmVal
0 / 0 / 0
Регистрация: 02.03.2010
Сообщений: 9
15.03.2010, 11:42  [ТС] #5
Ура! Спасибо!
0
15.03.2010, 11:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2010, 11:42
Привет! Вот еще темы с ответами:

cannot convert from 'int *' to 'double *' - C++
Помогите пожалуйста исправить ошибку: error C2440: '=' : cannot convert from 'int *' to 'double *'. #include &lt;iostream.h&gt; void...

Cannot convert parameter 1 from 'double (__cdecl *) - C++
#include &quot;MyModule.h&quot; //--------------------------------------------------------- ///0,432549860229146 2221 //Функция: ...

Passing 'double' for converting 1 of 'void' - C++
Здравствуйте! пишу метод Эйткина (для выч. мата)с графикой но выдает ошибки в коде. Помогите исправить! заранее спасибо! #include...

Выдает ошибку в void main () и const double y=6.61*pow(10, -11); - C++
Сила притяжения F между телами массами m1 и m2, находящимися на расстоянии r друг от друга, равна: F=y*m1*m2/(r*r); , где гравитационная...


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

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

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