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

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
–1 głos
154 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,210 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 (195,260 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 (195,260 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 (195,260 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 284 wizyt
pytanie zadane 14 marca 2022 w C i C++ przez osobliwy nick Użytkownik (900 p.)
0 głosów
0 odpowiedzi 113 wizyt
0 głosów
1 odpowiedź 640 wizyt
pytanie zadane 25 lipca 2020 w OpenGL, Unity przez tonn204 Mądrala (7,470 p.)

93,176 zapytań

142,185 odpowiedzi

321,980 komentarzy

62,506 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 1637p. - dia-Chann
  2. 1614p. - Łukasz Piwowar
  3. 1599p. - CC PL
  4. 1597p. - Łukasz Eckert
  5. 1537p. - Łukasz Siedlecki
  6. 1531p. - rucin93
  7. 1356p. - ssynowiec
  8. 1351p. - Tomasz Bielak
  9. 1328p. - Michal Drewniak
  10. 1288p. - rafalszastok
  11. 1273p. - Adrian Wieprzkowicz
  12. 1232p. - Mikbac
  13. 1169p. - Grzegorz Aleksander Klementowski
  14. 1155p. - Piotr Aleksandrowicz
  15. 1149p. - Michał Telesz
Szczegóły i pełne wyniki

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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...