Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
1 / 1 / 0
Регистрация: 31.03.2010
Сообщений: 32
1

Ошибка E2044 - operator delete must return void

17.09.2015, 11:20. Показов 944. Ответов 3
Метки нет (Все метки)

Среда - С++ Builder 2006
Суть такова:
Только начали изучать сишку. Выполняю домашку, нужно составить форму с кнопкой и вычисляемым выражением в поле Memo. Значения даются в Edit/
При компиляции выдает ошибку E2044 - operator delete must return void. Причем в Unit1.h. Не могу понять, как исправить ошибку.
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
//---------------------------------------------------------------------------
 
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:    // IDE-managed Components
        TLabel *Label1;
        TLabel *Label2;
        TLabel *Label3;
        TEdit *Edit1;
        TEdit *Edit2;
        TEdit *Edit3;
        TMemo *Memo1;
        TButton *Button1;
        void __fastcall Edit3Change(TObject *Sender);
        void __fastcall FormCreate(TObject *Sender);
        void __fastcall Button1Click(TObject *Sender);
private:    // User declarations
public:     // User declarations
       __fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
Ошибку выдает строка
C++
1
       __fastcall TForm1(TComponent* Owner);

спасибо откликнувшимся ))

На всякий-який код самого приложения
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
 
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
#include <math.h>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        :TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Edit1->Text = "0,4e+4";
Edit2->Text = "-0.875";
Edit3->Text = "-0.475e-3";
Memo1->Clear();
Memo1->Lines->Add("Домашняя работа");
 
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
double x, y, z, a, b ,c,d, rez;
x = StrToFloat(Edit1->Text);
y = StrToFloat(Edit2->Text);
z = StrToFloat(Edit3->Text);
a=fabs(cos(x)-cos(y));
b=pow(sin(y),2);
c=pow(a,1+2*b);
d=1+2+z*z/2+z*z*z/3+z*z*z*z/4;
rez=c*d;
Memo1->Lines->Add("При x = "+FloatToStrF(x,ffFixed,7,3)
+ "; y = "+FloatToStrF(y,ffFixed,7,3)+"; z = "+FloatToStrF(z,ffFixed,7,3));
Memo1->Lines->Add("Результат = "+FloatToStr(rez));
        
}
//---------------------------------------------------------------------------
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.09.2015, 11:20
Ответы с готовыми решениями:

delete или new (typeid(void*))(void*)
Доброе время суток. Пишу список. Телом каждого элемента (el) списка является void указатель(body)....

Return void
Добрый день! Нужно добавить один параметр к уже существующему,не хватает навыка, помогите! ...

Return в void
Помогите пожалуйста разобраться. в пустом исходнике через main программа работает нормально. а...

Delete void*
Безопасно ли удалять указатель на тип void. Допустим есть такой код: void * ptr = new char;...

3
6992 / 6030 / 2738
Регистрация: 14.04.2014
Сообщений: 25,792
17.09.2015, 11:37 2
Создай новый проект и ничего там не исправляй из сгенерированного. Форму нарисуешь повторно, содержимое Button1Click() скопируешь.
1
1 / 1 / 0
Регистрация: 31.03.2010
Сообщений: 32
17.09.2015, 12:12  [ТС] 3
самый прикол был в том, что как только пересохранил в папку. путь к которой латиницей идет - все заработало)))
0
6992 / 6030 / 2738
Регистрация: 14.04.2014
Сообщений: 25,792
17.09.2015, 13:42 4
Ну учитываю древность этой версии, возможно.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.09.2015, 13:42

delete void*
class MyClass{ public: int i; }; void main() { MyClass* MyObj = new MyClass; MyObj-&gt;i =...

Delete operator error
Собственно вся суть на скриншоте: Запрещено размещать задания и решения в виде картинок и других...

Что означает operator void*
Столкнулся с оператором void* в классе/структуре, решил что это метод который вызывается когда...

Operator '/' cannot be applied to 'void', 'float'
Не пойму в чем ошибка с void, как это можно разделить? static Money delenMoney(Money a, Money b)...


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

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

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