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

Dlaczego, gdy inicjuje obiekt w jednym pliku, to w drugim nie mogę użyć tego obiektu?

Object Storage Arubacloud
–1 głos
110 wizyt
pytanie zadane 18 sierpnia 2020 w C i C++ przez Drożdżówka Obywatel (1,870 p.)
edycja 18 sierpnia 2020 przez Patrycjerz
#include "Library.h"

short int CursourPostion;
short int ControlCode;
string BoxType;
string Line[4];

int main()
{
    Area S;
    S.PostionId[1] = 9;
    Entity Character;
    Character.EntityPostion = 1;
    Character.Move();
}
#ifndef LIBRARY_H_INCLUDED
#define LIBRARY_H_INCLUDED

#include <iostream>
#include <cstdlib>
#include <windows.h>
#include <fstream>
#include <time.h>
#include <conio.h>

using namespace std;

void Controls();
void ErrorCode();
void GameShutDown();

extern short int ControlCode;
extern short int CursourPostion;
extern string BoxType;
extern string Line[4];

class Entity
{
    public:
    string Name;
    int EntityPostion;

    void Move();
};
class Attack
{
    public:
    string Name;
    string Description;
    string Type;
    int TypeSystemInfo;
    int power;

    void CreateArea();
};
class Area
{
    public:
    int Id;
    int PostionId[9];

    void CreateArea();
};

#endif // LIBRARY_H_INCLUDED
#include "Library.h"

void ShowTextBox()
{
    int LineLength;
    cout << " 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" << endl;
    if(BoxType == "Basic")
    {
    cout << "                                            .........................." << endl;
    LineLength = 24 - Line[1].length();
    cout << "                                            ."; cout << Line[1]; if(LineLength < 24){while(LineLength > 0){cout << " "; LineLength = LineLength - 1;}}else{} cout << "."; if(CursourPostion == 1){SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),6);cout << "<" << endl;SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),7);}else{cout << " " << endl;}
    cout << "                                            .........................." << endl;
    LineLength = 24 - Line[2].length();
    cout << "                                            ."; cout << Line[2]; if(LineLength < 24){while(LineLength > 0){cout << " "; LineLength = LineLength - 1;}}else{} cout << "."; if(CursourPostion == 2){SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),6);cout << "<" << endl;SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),7);}else{cout << " " << endl;}
    LineLength = 24 - Line[3].length();
    cout << "                                            ."; cout << Line[3]; if(LineLength < 24){while(LineLength > 0){cout << " "; LineLength = LineLength - 1;}}else{} cout << "."; if(CursourPostion == 3){SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),6);cout << "<" << endl;SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),7);}else{cout << " " << endl;}
    LineLength = 24 - Line[4].length();
    cout << "                                            ."; cout << Line[4]; if(LineLength < 24){while(LineLength > 0){cout << " "; LineLength = LineLength - 1;}}else{} cout << "."; if(CursourPostion == 4){SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),6);cout << "<" << endl;SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),7);}else{cout << " " << endl;}
    cout << "                                            .........................." << endl;
    cout << S.PostionId;
    Sleep(5000);
    }
    else if(BoxType == "Answer")
    {
    cout << "                                            .........................." << endl;
    LineLength = 24 - Line[7].length();
    cout << "                                            ."; cout << Line[7]; if(LineLength < 24){while(LineLength > 0){cout << " "; LineLength = LineLength - 1;}}else{} cout << "."; if(CursourPostion == 1){SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),6);cout << "<" << endl;SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),7);}else{cout << " " << endl;}
    cout << "                                            .........................." << endl;
    LineLength = 24 - Line[8].length();
    cout << "                                            ."; cout << Line[8]; if(LineLength < 24){while(LineLength > 0){cout << " "; LineLength = LineLength - 1;}}else{} cout << "."; if(CursourPostion == 2){SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),6);cout << "<" << endl;SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),7);}else{cout << " " << endl;}
    LineLength = 24 - Line[9].length();
    cout << "                                            ."; cout << Line[9]; if(LineLength < 24){while(LineLength > 0){cout << " "; LineLength = LineLength - 1;}}else{} cout << "."; if(CursourPostion == 3){SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),6);cout << "<" << endl;SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),7);}else{cout << " " << endl;}
    LineLength = 24 - Line[10].length();
    cout << "                                            ."; cout << Line[10]; if(LineLength < 24){while(LineLength > 0){cout << " "; LineLength = LineLength - 1;}}else{} cout << "."; if(CursourPostion == 4){SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),6);cout << "<" << endl;SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),7);}else{cout << " " << endl;}
    cout << "                                            .........................." << endl;
    }
}
komentarz 18 sierpnia 2020 przez Piotr Batko Stary wyjadacz (13,190 p.)
Który obiekt masz na myśli? I co z nim chciałeś zrobić i nie działało?
komentarz 19 sierpnia 2020 przez j23 Mędrzec (194,920 p.)
przeniesione 19 sierpnia 2020 przez j23
extern string Line[4];
...


LineLength = 24 - Line[2].length();
...
LineLength = 24 - Line[10].length();
...
LineLength = 24 - Line[3].length();
...
LineLength = 24 - Line[9].length();
...
LineLength = 24 - Line[4].length();
...
LineLength = 24 - Line[8].length();
...
LineLength = 24 - Line[7].length();
...

To jak, definiujesz/deklarujesz tablicę czteroelementową, a w funkcji traktujesz ją jak 11-elementową?

W większości języków programowania tablice indeksuje się od zera, nie jedynki.

 

PS. fatalne formatowanie kodu.

komentarz 19 sierpnia 2020 przez Drożdżówka Obywatel (1,870 p.)
edycja 19 sierpnia 2020 przez Drożdżówka
Jak zwykle nikt nie chce mi pomóc, za to każdy jest chętny do skrytykowania mojego kodu...
komentarz 19 sierpnia 2020 przez Drożdżówka Obywatel (1,870 p.)
PS. Odpowiedź nie na temat
komentarz 19 sierpnia 2020 przez j23 Mędrzec (194,920 p.)
Fakt, to powinno być w komentarzu. Nie zauważyłem...

Tak czy siak, masz ewidentny błąd w kodzie, lepiej go popraw.
komentarz 19 sierpnia 2020 przez j23 Mędrzec (194,920 p.)

Jak zwykle nikt nie chce mi pomóc

Chcesz pomocy, to bądź bardziej precyzyjny w opisie problemu. Piotr Batko zadał pytanie, więc odpowiedz na nie (i nie użalaj się).

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

+1 głos
2 odpowiedzi 241 wizyt
pytanie zadane 14 marca 2022 w C i C++ przez osobliwy nick Użytkownik (900 p.)
0 głosów
0 odpowiedzi 100 wizyt
0 głosów
1 odpowiedź 438 wizyt
pytanie zadane 25 lipca 2020 w OpenGL, Unity przez tonn204 Mądrala (7,440 p.)

92,555 zapytań

141,402 odpowiedzi

319,540 komentarzy

61,938 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...