• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z deklaracjami w C++ Builder 6

0 głosów
114 wizyt
pytanie zadane 4 stycznia 2021 w C i C++ przez szymonkozy Nowicjusz (140 p.)

Próbuję zrobić podwójną tablicę obiektów TImage w Builder C++ 6, ale wyświetlają mi się błędy:

[C++ Error] Szachy.cpp(18): E2238 Multiple declaration for 'Form1'

[C++ Error] Szachy.cpp(11): E2344 Earlier declaration of 'Form1' 

[C++ Error] Szachy.cpp(18): E2141 Declaration syntax error

Tutaj plik nagłówkowy:

//---------------------------------------------------------------------------

#ifndef SzachyH
#define SzachyH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
#include <Graphics.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:    // IDE-managed Components
        TImage *A2;
private:    // User declarations
public:        // User declarations
 __fastcall TForm1(TComponent* Owner);
TImage* tablica[8][8];

};

//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif

A to plik cpp:

#include <vcl.h>
#pragma hdrstop

#include "Szachy.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"

TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//--------------------------------------------------------------------------- _al;
Form1->tablica[0][0]=Form1->A1 ;

Nie wiem co jest nie tak i proszę o pomoc :)

 

komentarz 5 stycznia 2021 przez j23 Mędrzec (177,460 p.)

Form1->tablica[0][0]=Form1->A1 ;

Dlaczego to jest poza funkcją/metodą?

C++ Builder 6

Wypadałoby użyć czegoś nowszego.

komentarz 5 stycznia 2021 przez szymonkozy Nowicjusz (140 p.)
Ogólnie chcę stworzyć podwójną tablicę obiektów TImage, a potem ją zainicjalizować tymi obiektami.
komentarz 5 stycznia 2021 przez j23 Mędrzec (177,460 p.)
No Ok, ale rób to w jakiejś metodzie, np. konstruktorze.

1 odpowiedź

0 głosów
odpowiedź 7 stycznia 2021 przez Author[] Bywalec (2,950 p.)
Problem leży najprawdopodobniej w przestarzałej wersji cpp builder. Na stronie embaracadero można pobrać za darmo wersję community edition. Miałem podobny błąd i nie mogłem zlokalizować jego przyczyny przejście na nową wersję pomogło.

Podobne pytania

0 głosów
0 odpowiedzi 90 wizyt
pytanie zadane 25 kwietnia 2017 w C i C++ przez 99Kris99 Nowicjusz (190 p.)
0 głosów
1 odpowiedź 119 wizyt
0 głosów
1 odpowiedź 457 wizyt
pytanie zadane 4 października 2015 w C i C++ przez ExtriPL Nowicjusz (120 p.)

88,701 zapytań

137,308 odpowiedzi

306,748 komentarzy

58,894 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...