Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 16.11.2021
Сообщений: 15
Builder 6

Проблема [C++ Error] Unit1.cpp(48): E2238 Multiple declaration for 'ans'

17.11.2021, 15:28. Показов 1984. Ответов 11

Студворк — интернет-сервис помощи студентам
Никак не могу понять в чем ошибка


.cpp:
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
 
 
 
using namespace std;
TForm1 *Form1;
 
       struct Action{
        AnsiString name;
        int category; // біг, плавання і т.д
        int alfaberSortRate;
        Action(AnsiString Aname = "", int Acategory = 0):
        name(Aname), category(Acategory){}
      };
 
      vector <Action> ans;
 
 
      ans.push_back(Action("Name", 1));// ошибка здесь
.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
//---------------------------------------------------------------------------
 
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Menus.hpp>
#include <string>
#include <vector>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:    // IDE-managed Components
        TListBox *ListBox1;
        TListBox *ListBox2;
        void __fastcall ListBox1Click(TObject *Sender);
private:    // User declarations
public:     // User declarations
        __fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
[C++ Error] Unit1.cpp(48): E2238 Multiple declaration for 'ans'
[C++ Error] Unit1.cpp(45): E2344 Earlier declaration of 'ans'
[C++ Error] Unit1.cpp(48): E2141 Declaration syntax error
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.11.2021, 15:28
Ответы с готовыми решениями:

Как исправить ошибку [C++ Error] Unit1.cpp(26): E2238 Multiple declaration for 'a'?
Пытаюсь создать вектор структур, но всегда выдает ошибки: Unit1.cpp(26): E2238 Multiple declaration for 'a' Unit1.cpp(25): E2344...

[C++ Error] UShipBattle.h(115): E2238 Multiple declaration for 'TForm1'
Помогите, возникают вот такие ошибки: UShipBattle.h(17): E2344 Earlier declaration of 'TForm1' UShipBattle.h(115): E2238 Multiple...

Ошибка E2238 Multiple declaration for и E2344 Earlier declaration of выпадает на одной и той же строке
Доброго всем времени суток. Помогите, пожалуйста решить вот такую проблему. На одну и ту же строку компилятор выдает 2 ошибки: ...

11
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,150
Записей в блоге: 3
17.11.2021, 15:31
Доброго, в структуре обвялено 3 переменных, но значения по умолчанию указано только два(это первое).
не
C++
1
vector <Action> ans;
, а
Code
1
std::vector <Action> ans;
(второе)
0
0 / 0 / 0
Регистрация: 16.11.2021
Сообщений: 15
17.11.2021, 15:54  [ТС]
Ошибка при этом не пропадает
0
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,150
Записей в блоге: 3
17.11.2021, 16:05
Action служебное название, смените на что то другое или добавте символ
0
0 / 0 / 0
Регистрация: 16.11.2021
Сообщений: 15
17.11.2021, 16:14  [ТС]
Проблема при добавлении нового символа не исчезает, ругается на идентификатор вектора ans
0
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,150
Записей в блоге: 3
17.11.2021, 16:16
У меня все норм


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    struct Action1
        {
            AnsiString name;
            int category;
            int alfaberSortRate;
            Action1(AnsiString Aname = "", int Acategory = 0,int AalfaberSortRate = 0):
            name(Aname), category(Acategory),alfaberSortRate(AalfaberSortRate)
                {
                }
        };
 
      std::vector <Action1> ans;
//---------------------------------------------------------------------------


C++
1
2
3
4
5
6
    AnsiString str = "123";
    int a1 = 100;
    int a2 = 200;
    ans.push_back(Action1(str,  a1, a2));
 
    ShowMessage(ans[0].name);
1
0 / 0 / 0
Регистрация: 16.11.2021
Сообщений: 15
17.11.2021, 16:26  [ТС]
что-то с билдером знач, спс

Добавлено через 5 минут
когда я беру ваш второй фрагмент у эту функцию
C++
1
2
3
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{}
то ошибок нету. Почему?
0
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,150
Записей в блоге: 3
17.11.2021, 16:30
Подозреваю, что код для добавления в вектор новой структуры ,прописываете не там где надо...к примеру до создания формы. Кинте на форму кнопку и по нажатию наполняете структуру.
0
0 / 0 / 0
Регистрация: 16.11.2021
Сообщений: 15
17.11.2021, 16:35  [ТС]
я пишу этот код у файле .cpp вне какой либо функции
0
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,150
Записей в блоге: 3
17.11.2021, 16:39
Лучший ответ Сообщение было отмечено Netterrr как решение

Решение

Наполнение вектора должно быть в функции.
Конечно есть варианты наполнять его до создания формы, но в Вашем случае и при этом коде луче сделать наполнение в отдельную функцию, после создания формы.
0
0 / 0 / 0
Регистрация: 16.11.2021
Сообщений: 15
17.11.2021, 16:41  [ТС]
Да, и где взять такие знания... Это основы работы с билдером, или продвинутая часть?
0
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,150
Записей в блоге: 3
17.11.2021, 16:47
Netterrr, это скорее всего фундамент для с++.
Я всем рекомендую Культин Н.Б с его книгами про builder c++ для начинающих (самое лучее ориентироваться на готовых задачах и то как он предлагает их решать). PS Там много картинок =)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.11.2021, 16:47
Помогаю со студенческими работами здесь

Устранить ошибку !! [C++ Error] Unit1.cpp(26): E2141 Declaration syntax error
//--------------------------------------------------------------------------- #include &lt;vcl.h&gt; #pragma hdrstop #include &lt;stdlib.h&gt;...

[C++ Error] Unit1.cpp(11): E2141 Declaration syntax error
Доброго времени суток, помогите с проблемой Ошибка падает на строку TMan *Man; Unit1.cpp ...

[C++ Error] Unit1.cpp(25): E2141 Declaration syntax error
Борланд ругается на неправильный синтаксис в этом куске программы void __fastcall TForm1::Button1Click(TObject *Sender) { int...

[C++ Error] Unit1.cpp(12): E2141 Declaration syntax error
Здравствуйте! Это моя первая тема, поэтому простите за ошибки и неточности. Суть вопроса в том, что проект компилировался, работал и...

Ошибка: E2238 Multiple declaration for 'x1'
WorkMain.cpp(115): E2238 Multiple declaration for 'x1' WorkMain.cpp(112): E2344 Earlier declaration of 'x1' что это значит???


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru