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

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

Войти
Регистрация
Восстановить пароль
 
de-pre
32 / 31 / 3
Регистрация: 04.07.2013
Сообщений: 232
Записей в блоге: 1
#1

В чем ошибка? Вызов функции - C++

30.06.2014, 20:31. Просмотров 209. Ответов 3
Метки нет (Все метки)

Вот код:
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <math.h>
 
void filter(double x[],double y[],int N)
{
    int i,j = 0;
    int M = 100; //длина фильтра
    int prop = 50; //частота пропускания
    int zat = 85; //частота затухания
    int diskr = 4500; //частота дискретизации
    double H_real[M] ; //импульсная характеристика практическая
    double H_id[M] ; //идеальная импульсная характеристика
    double W[M] ; //весовая функция
    double fc = (prop + zat)/(2*diskr);
    for(i = 0; i < M; i++)
    {
        if(i == 0) H_id[i] = 2*M_PI*fc;
        else H_id[i] = (2*fc*sin(2*M_PI*fc*i))/2*M_PI*fc*i;
        W[i] = 0.42 - 0.5*cos((2*M_PI*i)/M-1) + 0.08*cos((4*M_PI*i)/M-1); //весовая функция Блэкмана
        H_real[i] = H_id[i] * W[i]; //получили коэффициенты фильтра
    }
    for(i = 0; i < N; i++)
    {
        y[i] = 0.0;
        for(j = 0; j < M - 1; j++)
        {
          y[i] += H_real[j]*x[i-j];
        }
    }
}
 
int main()
{
    int N = 500;
    double x[N];
    double y[N];
    int i = 0;
    for(i = 0; i < N; i++)
    {
        x[i] = 5*sin(0.75*M_PI*i);
    }
    filter(x[N],y[N],N);
}


CodeBlocks выдает такую ошибку:
error: cannot convert 'double' to 'double*' for argument '1' to 'void filter(double*, double*, int)'|
Подскажите,в чем проблема?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2014, 20:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В чем ошибка? Вызов функции (C++):

Вызов перегруженной функции не могу понять в чем дело? - C++
#include &lt;iostream&gt; #include &lt;time.h&gt; #include &lt;stdio.h&gt; using namespace std; //Прототипы функций bool LeapYear(int Year); ...

Ошибка: неоднозначный вызов перегруженной функции - C++
Ошибка:= error C2668: TCalc::TCalc: неоднозначный вызов перегруженной функции myclass\myclass.cpp MyClass TCalc.cpp #include...

Ошибка sin: неоднозначный вызов перегруженной функции - C++
#include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;iomanip&gt; using namespace std; int main() { double f={0}; int i; ...

Ошибка C2668: mult: неоднозначный вызов перегруженной функции - C++
Помогите пожалуйста, не знаю как правильно избавиться от ошибки. Исчезает только если из объявления в параметрах (33 строчка) убрать...

Ошибка C2668: sqrt: неоднозначный вызов перегруженной функции - C++
Добрый вечер. Это опять я, чайник. Решаю такую задачу: &quot;Вывести на экран N-ое число из ряда Фибоначчи&quot;. Использую формулу Бине ...

Ошибка: error C2668: abs: неоднозначный вызов перегруженной функции - C++ - C++
Мне выкидывает ошибку при сборке. 1&gt; CCRakNetSlidingWindow.cpp 1&gt;..\Common\RakNet\CCRakNetSlidingWindow.cpp(221): error C2668: abs:...

3
RacceGaetel
1 / 1 / 0
Регистрация: 07.03.2014
Сообщений: 72
30.06.2014, 20:40 #2
хм, не знаю даже, в начале вроде не так должно быть
C++
1
#include <iostream>
а так
C++
1
#include <iostrea.h>
0
nmcf
5699 / 5010 / 1712
Регистрация: 14.04.2014
Сообщений: 20,464
30.06.2014, 20:41 #3
Вызывать надо так:
C++
1
filter(x, y, N);
С iostream всё верно, с .h - это по-древнему.
0
de-pre
32 / 31 / 3
Регистрация: 04.07.2013
Сообщений: 232
Записей в блоге: 1
30.06.2014, 22:02  [ТС] #4
nmcf,
спасибо,так работает.
0
30.06.2014, 22:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.06.2014, 22:02
Привет! Вот еще темы с ответами:

Ошибка: error C2668: abs: неоднозначный вызов перегруженной функции - C++
Мне выкидывает ошибку при сборке. 1&gt; QueueTest.cpp 1&gt;c:\documents and settings\администратор\рабочий...

Ошибка 2, error C2668: pow: неоднозначный вызов перегруженной функции - C++
Пытаюсь разобраться с функциями. И потому усложнил обычный пример. Вылезла ошибка: Ошибка 2, error C2668: pow: неоднозначный вызов...

В чем ошибка в функции - C++
#include &lt;iostream&gt; using namespace std; double power(double n, int p = 2); double ch = 1; int i = 1; int main() { ...

Ошибка в программе error C2668: std::to_string: неоднозначный вызов перегруженной функции - C++
FILE *f1; f1 = fopen(&quot;matrix.txt&quot;, &quot;w&quot;); for (unsigned int i = 0; i &lt; matrix.size(); i++) { vector&lt;double&gt; s =...


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

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

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