Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Антон1990
0 / 0 / 1
Регистрация: 04.12.2016
Сообщений: 78
#1

[Linker Error] Unresolved external 'f2(double)' referenced from D:\C++\4\UNIT1.OBJ-C++ Builder - C++ Builder

23.11.2017, 10:07. Просмотров 157. Ответов 5
Метки нет (Все метки)

что может означать эта ошибка:
[Linker Error] Unresolved external 'f2(double)' referenced from D:\C++\4\UNIT1.OBJ

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include "math.h"
#include "Unit1.h"
typedef double (*TFun)(double);
double fun1(double);
double f2(double);
double fact(double);
void Out_Rez(TFun, double, double, double, double, TMemo*);
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
double fact(double n)
{
   return n ? n * fact(n - 1) : 1;
}
 
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Edit1->Text="0,1";
Edit2->Text="1,0";
Edit3->Text="0,1";
Edit4->Text="6";
Memo1->Clear();
RadioGroup1->ItemIndex=0;
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
double a, b, h;
int n;
a = StrToFloat(Edit1->Text);
b = StrToFloat(Edit2->Text);
h = StrToFloat(Edit3->Text);
n = StrToFloat(Edit4->Text);
switch(RadioGroup1->ItemIndex)
{
case 0: Out_Rez(f2,a,b,h,n,Memo1); break;
case 1: Out_Rez(fun1,a,b,h,n,Memo1); break;
}
}
double f2(double f, double s, double k, double x, double n)
{
        s=0;
                for(k = 0; k<=n; k++)
                {
                f= (2 * k + 1 ) * pow(x, (2 * k)) / fact(k);
                s+=f;
                }
                return s;
}
 
double fun1( double x)
{
        return (1+(2*(x*x)))*(exp(x*x));
}
 
 
 
void Out_Rez (TFun f,double xn,double xk,double h,double n,TMemo *mem)
{
         for(double x=xn; x<=xk; x+=h)
                   mem->Lines->Add(" x = " + FloatToStrF(x,ffFixed,12,8)+
                                                "  y = " + FloatToStrF(f(x),ffFixed,12,8));
}
//---------------------------------------------------------------------------
0
Вложения
Тип файла: rar 4.rar (208.8 Кб, 0 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2017, 10:07
Я подобрал для вас темы с готовыми решениями и ответами на вопрос [Linker Error] Unresolved external 'f2(double)' referenced from D:\C++\4\UNIT1.OBJ-C++ Builder (C++ Builder):

[Linker Error] Unresolved external 'Sum(float)' referenced from D:\УЧЕБА\UNIT1.OBJ
что может означать эта ошибка Unresolved external 'Sum(float)' referenced...

Подскажите что мне делать с ошибкой [Linker Error] Unresolved external 'Btsdk_Init()' referenced from UNIT1.OBJ
Здравствуйте, помогите пожалуйста. Скачал с сайта http://www.bluesoleil.com/...

что за ошибка?[Linker Error] Unresolved external '_PortOut' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\UNIT1.OBJ
Unresolved external '_PortOut' referenced from C:\PROGRAM...

Ошибка [Linker Error] Unresolved external '_Form1' referenced from G\.obj
Как устранить ошибку? файл .cpp ...

Ошибка [Linker Error] Unresolved external 'TForm1::' referenced from C:\USERS\DESKTOP\PROJECT2.OBJ
//--------------------------------------------------------------------------- ...

[Linker Error] Unresolved external '__fastcall TForm3::FormCreate(System::TObject *)' referenced from D:\Sasha\Navchannya\OPI\KPIZ\KPIZ\UNIT3.OBJ
Здравствуйте, уважаемые форумчане! У меня возникла проблема с компиляцией...

5
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
25624 / 17177 / 6830
Регистрация: 22.10.2011
Сообщений: 30,369
Записей в блоге: 6
23.11.2017, 10:33 #2
В 9-ой строке кода - заголовок функции f2, которая принимает один параметр, а реализована функция, которая принимает 5 штук. Это разные функции...
0
Антон1990
0 / 0 / 1
Регистрация: 04.12.2016
Сообщений: 78
23.11.2017, 10:43  [ТС] #3
когда я исправляю выводятся эти ошибки:
[C++ Error] Unit1.cpp(48): E2034 Cannot convert 'double (*)(double,double)' to 'double (*)(double)'
[C++ Error] Unit1.cpp(48): E2340 Type mismatch in parameter 1 (wanted 'double (*)(double)', got 'double (*)(double,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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include "math.h"
#include "Unit1.h"
typedef double (*TFun)(double);
double fun1(double);
double f2(double, double);
double fact(double);
void Out_Rez(TFun, double, double, double, double, TMemo*);
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
double fact(double n)
{
   return n ? n * fact(n - 1) : 1;
}
 
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Edit1->Text="0,1";
Edit2->Text="1,0";
Edit3->Text="0,1";
Edit4->Text="6";
Memo1->Clear();
RadioGroup1->ItemIndex=0;
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
double a, b, h;
int n;
a = StrToFloat(Edit1->Text);
b = StrToFloat(Edit2->Text);
h = StrToFloat(Edit3->Text);
n = StrToFloat(Edit4->Text);
switch(RadioGroup1->ItemIndex)
{
case 0: Out_Rez(f2,a,b,h,n,Memo1); break;
case 1: Out_Rez(fun1,a,b,h,n,Memo1); break;
}
}
double f2 ( double x, double n)
{double s;
int k;
        s=0;
                for(k = 0; k<=n; k++)
                {
                s+= (2 * k + 1 ) * pow(x, (2 * k)) / fact(k);
                }
                return s;
}
 
double fun1( double x)
{
        return (1+(2*(x*x)))*(exp(x*x));
}
 
 
 
void Out_Rez (TFun f,double xn,double xk,double h,double n,TMemo *mem)
{
         for(double x=xn; x<=xk; x+=h)
                   mem->Lines->Add(" x = " + FloatToStrF(x,ffFixed,12,8)+
                                                "  y = " + FloatToStrF(f(x),ffFixed,12,8));
}
//---------------------------------------------------------------------------
0
nick42
Практикантроп
4216 / 2249 / 379
Регистрация: 23.09.2011
Сообщений: 4,822
23.11.2017, 14:47 #4
Цитата Сообщение от Антон1990 Посмотреть сообщение
case 0: Out_Rez(f2,a,b,h,n,Memo1); break;
case 1: Out_Rez(fun1,a,b,h,n,Memo1); break;
f2 и fun1 у вас же функции; с параметрами (в одном случае -2, во втором - 1). Их указывать надо.
0
Антон1990
0 / 0 / 1
Регистрация: 04.12.2016
Сообщений: 78
23.11.2017, 16:37  [ТС] #5
и как это записать?
0
nick42
Практикантроп
4216 / 2249 / 379
Регистрация: 23.09.2011
Сообщений: 4,822
23.11.2017, 17:27 #6
Ну, как... . Если f2 у вас возвращает значение суммы (интеграл) по формуле, то в вызове функции должны присутствовать эти переменные: n и x. То-есть
C++
1
case 0: Out_Rez(f2(X,n),a,b,h,n,Memo1); break;
или как-то наподобие (я не вникал в суть задачи; только по форме вызова функции).
0
23.11.2017, 17:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2017, 17:27
Привет! Вот еще темы с решениями:

[Linker Error] Unresolved external '_main' referenced
Не могу нормально скомпилировать обычный консольный код, в чём может быть...

[Linker Error] Unresolved external '_Form1' referenced from
Только начал изучать С++, обложился книгами, пишу элементарную прогу &quot;Hello...

[Linker Error] Unresolved external '__fastcall TForm1::N5Click(System::TObject *)' referenced from
Запускаю программу, и выдает такую ошибку: Unresolved external '__fastcall...

[ILINK32 Error] Error: Unresolved external '__fastcall TMainForm::MaskEdit1Change(System::TObject *)' referenced from C:\LCARD\MAIN.OBJ
одна ошибка просто достала, наверняка где то уже была тема про эту ошибку, но...


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

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

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