• 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?

VPS Starter 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 96 wizyt
0 głosów
1 odpowiedź 399 wizyt
pytanie zadane 25 lipca 2020 w OpenGL, Unity przez tonn204 Mądrala (7,440 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...