Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
122 / 85 / 2
Регистрация: 17.10.2010
Сообщений: 436

Ошибка при компиляции: "E2275 { expected" и "E2040 Declaration terminated incorrectly"

16.12.2012, 14:22. Показов 2545. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! При компиляции выдает такую ошибку:

[
C++
1
2
C++ Error] Unit1.cpp(12): E2275 { expected
[C++ Error] Unit1.cpp(147): E2040 Declaration terminated incorrectly
Код:
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
//---------------------------------------------------------------------------
 
#pragma hdrstop
#include <iostream.h>
#include <conio.h >
#include <vcl.h>
 
//---------------------------------------------------------------------------
 
#pragma argsused
// инифиализация класса auto
class auto
{
        public:
    char* marka; // Марка машины
        int power; // Мощность
    float cost ; // Стоимость
 
 // Конструктор класса auto без параметров
    auto()
    {
        marka = new char[20];    // выделение памяти для марки машины
        strcpy(marka,"BELAZ"); // копирование названия поумолчанию в выделенную память
        power = 1000;    // присваивание свойству power 1000
        cost =23000; // присваивание свойству cost 23000
        // вывод сообщение о создании нового экземпляра класса  auto
        cout<<"Created auto object"<<" "<<this<<" marka: "<<marka<<"\n\r";
    }
// Конструктор класса auto с параметрами
// входные параметры:
// mr - марка
// powerN - мощность
// costN - стоимость
    auto(char* mr, int powerN, float costN)
    {
        marka = new char[StrLen(mr)]; // выделение памяти для марки машины
        strcpy(marka,mr); // копирование марки в выделенную память
        power = powerN; // присваивание свойству power знаения powerN
        cost = costN; // присваивание свойству cost знаения costN
        // вывод сообщение о создании нового экземпляра класса  auto
        cout<<"Created auto object"<<" "<<this<<" marka: "<<marka<<"\n\r";
    }
// Конструктор копирования класса auto
    auto(const auto& st)
    {
        marka= new char[StrLen(st.marka)]; // выделение памяти копии свойства marka
        strcpy(marka,st.marka); // копирование марки в  выделенную память
        power=st.power;// присваивание свойству power знаение копируемого экзкмпляра класса
        cost=st.cost;// присваивание свойству cost знаение копируемого экзкмпляра класса
// вывод сообщения об завершении работы конмтруктора копирования
        cout<<"Object copied"<<" "<<this<<" marka: "<<marka<<"\n\r";
    }
// Диструктор класса auto
    ~auto()
    {
    // вывод сообщение об уничтожении экземпляра класса auto
        cout<<"Destroyed auto object"<<" "<<this<<" marka: "<<marka<<"\n\r";
        delete this->marka; // освобождение памяти от строки значения свойства marka 
    }
// Метод set_marka предназначен для установки свойства marka в экземляре класса auto
// входные параметры:
// mr - Марка
    void set_marka(char *mr)
    {
    // вывод сообщение об изменении свойства marka экземпляра класса auto
        cout<<"Object"<<" "<<this<<" marka changed from: "<<marka<<" to: "<<mr<<"\n\r";
        delete this->marka;// освобождение памяти от строки значения свойства marka
        marka = new char[StrLen(mr)]; // выделение памяти для свойства marka
        strcpy(marka,mr); // копирование марки в выделенную память
    }
// Метод set_power предназначен для установки свойства power в экземляре класса auto
// входные параметры:
// powerNew - мощность
    void set_power(int powerNew)
    {
        // вывод сообщение об изменении свойства power экземпляра класса auto
        cout<<"Object"<<" "<<this<<" power changed from: "<<power<<" to: "<<powerNew<<"\n\r";
        this->power=powerNew; // присваивание свойству power знаения powerNew
    }
// Метод set_cost предназначен для установки свойства cost в экземляре класса auto
// входные параметры:
// costNew - стоимость
    void set_cost(float costNew)
    {
        // вывод сообщение об изменении свойства cost экземпляра класса auto
        cout<<"Object"<<" "<<this<<" cost changed from: "<<costWord<<" to: male"<<"\n\r";
        this->cost=costNew; // присваивание свойству cost знаения costNew
    }
// Метод show_marka предназначен для просмотра свойства marka класса auto
    void show_marka()
    {
        cout<<"Object"<<" "<<this<<" marka is: "<<marka<<"\n\r"; // вывод значения marka
    }
// Метод show_fog предназначен для просмотра свойства power класса auto
    void show_power()
    {
        cout<<"Object"<<" "<<this<<" power is: "<<power<<"\n\r"; // вывод значения power
    }
// Метод show_cost предназначен для просмотра свойства cost класса auto
    void show_cost()
    {
        cout<<"Object"<<" "<<this<<" cost is: "<<cost<<"\n\r"; // вывод значения cost
    }
 }   
 
//-----------------------------------------------------------------------------
int main(int argc, char* argv[])
{
        cout << "\t Object 1 bez parametrov:" << endl;
        auto obj1;//Создали первый объект без параметров
        //Выводи значения полей объекта
        obj1.show_marka();
        obj1.show_power();
        obj1.show_cost();
 
        cout<<"\n \t----- \n"<<endl;
 
        cout << "\t Object 2 s parametrami:" << endl;
        auto obj2("Vaz",135,10000);//Создали второй объект с параметрами
        //Выводи значения полей объекта
        obj2.show_marka();
        obj2.show_power();
        obj2.show_cost();
        //Изменяем значения полей объекта
        obj2.set_marka("UAZ");
        obj2.set_power(150);
        obj2.set_cost(11000);
        //Выводи значения полей объекта
        obj2.show_marka();
        obj2.show_power();
        obj2.show_cost();
        
 
        cout<<"\n \t------- \n"<<endl;
 
        cout << "\t Object 3 iscostzuya konstruktor kopirovaniya:" << endl;
        auto obj3(obj1);//Создали третьий объект конструктором копирования
        //Выводи значения полей объекта
        obj3.show_marka();
        obj3.show_power();
        obj3.show_cost();
 
        return 0;
} 
//---------------------------------------------------------------------------
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.12.2012, 14:22
Ответы с готовыми решениями:

[C++ Error] kurscpp.cpp(4): E2040 Declaration terminated incorrectly
#include &lt;windows.h&gt; #include &lt;stdio.h&gt; #pragma hdrstop extern &quot;C&quot; _stdcall DATE(char *, char *, char *); void main() { ...

Исправить ошибку в коде: E2040 Declaration terminated incorrectly
Ошибка указывает на первую строку, не могу понять Unit2.cpp(160): E2040 Declaration terminated incorrectly if(Edit1-&gt;Text...

[BCC32 Error] Zfzlib.hpp(116): E2040 Declaration terminated incorrectly
Доброго всем времени суток! При Build проекта появляется ошибка Zfzlib.hpp(116): E2040 Declaration terminated incorrectly ...

3
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
16.12.2012, 14:50
Цитата Сообщение от zesen Посмотреть сообщение
{ expected
Кривой скобки нехватает.
Вторая ошибка пропадет после исправления первой.
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
16.12.2012, 14:58
Лучший ответ Сообщение было отмечено SatanaXIII как решение

Решение

Цитата Сообщение от zesen Посмотреть сообщение
class auto
видишь auto сининьким светится
это служебное слово С
поменяй имя класса например MyAuto или Auto

Добавлено через 2 минуты
Ключевое слово auto

Судьбу этого ключевого слово можно сравнить с goto: с одной стороны - в языке есть, с другой - его не используют. Но в случае с auto всё проще. Хотя его и можно использовать для объявления локальных переменных, но смысла в этом нет, так как все локальные переменные по умолчанию считаются автоматическими. Поэтому на практике это ключевое слово не используется. Есть мнение что ключевое слово auto включили в язык С для совместимости с языком B ну а потом оно перекочевало и в С++
http://www.quizful.net/post/cpp-keywords-usage

Добавлено через 1 минуту
Цитата Сообщение от Samrisbe Посмотреть сообщение
Кривой скобки нехватает.
Не наоборот лишняя
имя класса ишет
2
122 / 85 / 2
Регистрация: 17.10.2010
Сообщений: 436
16.12.2012, 15:39  [ТС]
ValeryS, большое спасибо! Помогло!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.12.2012, 15:39
Помогаю со студенческими работами здесь

"E2090: Qualifier 'Date0' is not a class or namespace name" и "E2040: Declaration terminated incorrectly"
Подскажите пожалуйста,в чем ошибка? //--------------------------------------------------------------------------- #include...

Ошибка E2040 Declaration terminated incorrectly
//--------------------------------------------------------------------------- #include &lt;clx.h&gt; #include &lt;stdio.h&gt; #include...

[C++] Unit1.cpp(20): E2040 Declaration terminated incorrectly
//--------------------------------------------------------------------------- #include &lt;vcl.h&gt; #include &lt;iostream.h&gt; #include...

[C++ Error] Lib.cpp(18): E2040 Declaration terminated incorrectly
Доброго времени суток. Пытаюсь компильнуть прогу. Lib.cpp(18): E2040 Declaration terminated incorrectly Помогите разобраться,...

Структура Octal. Выдает ошибку E2040 Declaration terminated incorrectly. Не пойму в чем проблема?
#include &lt;iostream.h&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; struct Octal {char*s;int len;} chislo ; {for(int...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru