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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 60, средняя оценка - 4.78
Aleks_
0 / 0 / 0
Регистрация: 15.05.2011
Сообщений: 12
#1

error LNK2019: unresolved external symbol - C++

15.05.2011, 22:26. Просмотров 8604. Ответов 7
Метки нет (Все метки)

Добрый вечер. Недавно начала изучение языка С++ и столкнулась с такими ошибками:

Error 1 error LNK2019: unresolved external symbol "double __cdecl rect(double,double,double (__cdecl*)(double))" (?rect@@YANNNP6ANN@Z@Z) referenced in function _main Integral.obj Integral
Error 2 error LNK2019: unresolved external symbol "double __cdecl f(double)" (?f@@YANN@Z) referenced in function _main Integral.obj Integral
Error 3 fatal error LNK1120: 2 unresolved externals C:\Users\Irina\Documents\Visual Studio 2008\Projects\Integral\Debug\Integral.exe Integral


Просмотрела несколько подобных тем на форуме, но так и не нашла решения проблемы. Подскажите, пожалуйста, как можно эту ошибку устранить.

Вот код программы:

Файл с основной программой

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
#include "stdafx.h"
#include "iostream"
#include "cmath"
#include "conio.h"
#include "Integ.h"
 
 
 
using namespace std;
 
 
 
void main()
{
double a=0;
double b=0;
int n=0;
cout<<'a=';
cin>>a;
cout<<'b=';
cin>>b;
cout<<'n=';
cin>>n;
double l=0;
double r=0;
double h=0;
double s=0;
int m=3;
switch(m){
case '1':{
    double h=(b-a)/n;
    for (int i=0; i<n; i++){
        double l=a+h*i;
        double r=l+h;
        s+=rect(l,r,f);}
    }
    break;
}
cout<<s;
}

Заголовочный файл:

C++
1
2
3
4
5
6
7
8
9
#pragma once
#include "cmath"
typedef double(*Tpf)(double);
Tpf f;
typedef double(*Tpmethod)(double, double, Tpf);
typedef double (*integ)(double, double, int, Tpf, Tpmethod);
double rect(double a, double b, Tpf pf);
double trap(double a, double b, Tpf pf);
double Simpson(double a, double b, Tpf pf);

Файл с функциями:

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
// Integ.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include "Integ.h"
#include "iostream"
#include "cmath"
#include "conio.h"
 
 
using namespace std;
 
 
double f(double x){
    double y=sqrt(1-x*x)*4;
    return (y);
}
 
double rect(double a, double b, Tpf pf){
    double s=(b-a)*pf((a+b)/2);
    return (s);
}
 
double trap(double a, double b, Tpf pf){
    double s=(b-a)/2*(pf(a)+pf(b));
    return (s);
}
 
double Simpson(double a, double b, Tpf pf){
    double s=(b-a)/6*(pf(a)+4*pf((a+b)/2)+pf(b);
    return (s);
}

Заранее спасибо.

 Комментарий модератора 
Используйте теги форматирования кода!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2011, 22:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос error LNK2019: unresolved external symbol (C++):

Error LNK2019: unresolved external symbol - C++
Доброго дня, программисты. Пишу синтезатор на Microsoft Visual C++ 2010 Express. Столкнулся с такой проблемой: при компиляции vst2...

Error LNK2019: unresolved external symbol - C++
Всем привет. Имеется конструктор и деструктор public: MyClass(const char *url);//конструктор. параметр -адрес из командной...

error LNK2019: unresolved external symbol - C++
Пример из книги Щупака Win32 API. Эффективная разработка приложений ...

error LNK2019: unresolved external symbol - C++
Всем привет! Я новичок в С++, и вот проблема: пишу код для своей функции MySwap, студия 2010 выдает ошибку: error LNK2019: unresolved...

Error LNK2019: unresolved external symbol - C++
static int _handle_lockacct_command(t_connection * c, char const *text) { t_connection * user; t_account * account; ...

Error LNK2019: unresolved external symbol - C++
помогите пожалуйста исправить ошибку при компиляции,никогда прежде такой ошибки не встречала,не знаю как исправить и соответственно не могу...

7
lifestyle
Mobile Developer
232 / 228 / 4
Регистрация: 10.05.2009
Сообщений: 917
15.05.2011, 22:59 #2
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
//#include "stdafx.h" "родные" инклюди пишем так < >
#include <stdafx.h> 
#include "iostream"
#include "cmath"
#include "conio.h"
#include "Integ.h"
 
 
 
using namespace std;
 
 
 
void main()
{
double a=0;
double b=0;
int n=0;
//cout<<'a='; это уже не char! исправляй дальше
cout<<"a=";
cin>>a;
cout<<'b=';
cin>>b;
cout<<'n=';
cin>>n;
double l=0;
double r=0;
double h=0;
double s=0;
int m=3;
switch(m){
case '1':{
        double h=(b-a)/n;
    for (int i=0; i<n; i++){
            double l=a+h*i;
            double r=l+h;
                s+=rect(l,r,f);}//функция rect() принимает 3 аргумента один из них указатель на функцию, так и не нашел на что f указывает , проблеммы именно в ней судя по ошибке
        }
        break;
}
cout<<s;
}
1
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1306 / 1221 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
16.05.2011, 07:25 #3
Цитата Сообщение от lifestyle Посмотреть сообщение
"родные" инклюди пишем так < >
С точностью до наоборот.)
1
Aleks_
0 / 0 / 0
Регистрация: 15.05.2011
Сообщений: 12
16.05.2011, 10:24  [ТС] #4
Спасибо, поняла, только теперь вылезает

Error 1 error C2664: 'rect' : cannot convert parameter 3 from 'double' to 'Tpf'

никак не могу устранить несоответствие типов... что делать не подскажете?

Добавлено через 1 минуту
Или вот

Error 1 error C2440: 'initializing' : cannot convert from 'double' to 'Tpf'
0
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1306 / 1221 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
16.05.2011, 10:28 #5
Цитата Сообщение от Aleks_ Посмотреть сообщение
что делать не подскажете?
Вместо вещественного числа, передавать указатель на функцию.
0
lifestyle
Mobile Developer
232 / 228 / 4
Регистрация: 10.05.2009
Сообщений: 917
16.05.2011, 11:12 #6
Цитата Сообщение от Deviaphan Посмотреть сообщение
С точностью до наоборот.)
хм не припомню с каких пор , например, iostream пишем в кавычках , а не в <> . Ты наверное "родные инклюды" не так понял)))
0
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1306 / 1221 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
16.05.2011, 11:15 #7
Цитата Сообщение от lifestyle Посмотреть сообщение
iostream пишем в кавычках , а не в <>
Я и говорю, с точностью до наоборот. В кавычках сперва ищется в директории проекта.
Т.е. вместо
C++
1
2
#include <stdafx.h> 
#include "iostream"
Должно быть
C++
1
2
#include "stdafx.h" 
#include <iostream>
0
lifestyle
Mobile Developer
232 / 228 / 4
Регистрация: 10.05.2009
Сообщений: 917
16.05.2011, 14:14 #8
только сейчас заметил что выделил stdafx , а не iostream)))))))))
0
16.05.2011, 14:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2011, 14:14
Привет! Вот еще темы с ответами:

error LNK2019: unresolved external symbol __imp__ - C++
В чем проблема можете подсказать.

Ошибка: error LNK2019: unresolved external symbol - C++
В общем делаю курсач, есть фунция ввода списка, но тут такая проблема: у меня не компилируется, то что я написал(точнее LINK не проходит) с...

vector, error LNK2019: unresolved external symbol - C++
Всем доброго времени суток. Хочу сделать список игроков, находящихся на карте (список меняется по мере игры в зависимости от появления...

Error LNK2019: unresolved external symbol "public: - C++
SeverWinSock.h#pragma once #include &quot;stdafx.h&quot; #include &quot;winsock.h&quot; const int WM_SERVER_ACCEPT = WM_USER+1; class...


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

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

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