Toto vlákno bylo označeno za vyřešené.
Kenvelo +2
Super člen
Zdravím, nevím jestli sem napsal správě hlavičku, ale chtěl bych se zeptat v
v Menu.h
mám strukturu a v ní fukci
struct MENU
{
void Start();
void NewGame();
};
void MENU::Newgame()
{
cout << "Zadejte jméno hřáče : ";
cin.getline(hrac.jmeno,30); // zde nastává chyba
cin.clear();
}
druhou strukturu mam v Nastaveni_hrace.h
struct NASTAVENI_HRACE
{
static char jmeno[30];
}hrac;
hlavičkové soubory mam includnute. Při kompilaci mi to píše 'hrac' nedeklarovaný identifikátor
a levá strana ".jmeno" musí být class/struct/union
kde dělám chybu ? Díky
Díky bohu, že počítače vymysleli muži. Kdyby to byly ženy, tak binární soustavu reprezentují jedničky, nuly a "možná"
Kowalsky95 0
Stálý člen
zkus použít "extern NASTAVENI_HRACE hrac;"
Kenvelo +2
Super člen
#2 Kowalsky95
stejný výsledek
Díky bohu, že počítače vymysleli muži. Kdyby to byly ženy, tak binární soustavu reprezentují jedničky, nuly a "možná"
vitamin +8
Grafoman
#3 Kenvelo
skus nieco taketo:
/// test.hpp
#pragma once
struct NASTAVENI_HRACE
{
static char jmeno[30];
};
extern NASTAVENI_HRACE hrac;
/// test.cpp
#include "test.hpp"
NASTAVENI_HRACE hrac;
char NASTAVENI_HRACE::jmeno[30] = "";
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
Kenvelo +2
Super člen
#4 vitamin
píše to úplně stejnou chybu
Díky bohu, že počítače vymysleli muži. Kdyby to byly ženy, tak binární soustavu reprezentují jedničky, nuly a "možná"
vitamin +8
Grafoman
#5 Kenvelo
Skus sem dat cely kod ktory ti nefunguje.
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
Kenvelo +2
Super člen
#6 vitamin
už sem ho dával
Menu.h
struct MENU
{
int GameSpeed = 100;
int Level = 0;
bool stopgame = false;
void Start();
void NewGame();
}uvod;
void MENU::NewGame()
{
system("cls");
cout << "Zadejte jméno hřáče : ";
cin.getline(hrac.jmeno, 30);
// chyba je zde nejde mi přistoupit do struktury kde je deklarovano.
cin.clear();
}
// ta struktura se nachází na nastavenihrace.h
struct NASTAVENI_HRACE
{
static char jmeno[30];
}hrac;
// a main.cpp
int main(int argc, const char* argv[])
{
locale cz("CZECH");
locale::global(cz);
uvod.Start();
return 0;
}
chyba je v tom přístupu do jiné struktury.
Díky bohu, že počítače vymysleli muži. Kdyby to byly ženy, tak binární soustavu reprezentují jedničky, nuly a "možná"
Píše "unknown identifier" ? Je v Menu.h inkludováno nastavenihrace.h ?
hu
Kenvelo +2
Super člen
#8 hlucheucho
ano vše je includnuto, zkouším teď pro každý hlavičkový soubor vytvořit i cpp a funkce tam vepsat.
Jen mě napadlo nemělo by se k funkcím tříd a struktur ve více hlavičkových souborech přistupovat odkazem nebo ukazatelem ?
Díky bohu, že počítače vymysleli muži. Kdyby to byly ženy, tak binární soustavu reprezentují jedničky, nuly a "možná"
Kenvelo +2
Super člen
#8 hlucheucho
problém vyřešen ;)
nastavenihrace.cpp
char NASTAVENI_HRACE::jmeno(char name[30])
{
cin.getline(name, 30);
return name[30];
}
menu.cpp
void MENU::NewGame()
{
system("cls");
cout << "Zadejte jméno hřáče : ";
NASTAVENI_HRACE hrac;
hrac.jmeno(name1);
}
Díky bohu, že počítače vymysleli muži. Kdyby to byly ženy, tak binární soustavu reprezentují jedničky, nuly a "možná"
z ~ Anonymní uživatel~ 268 příspěvků
Takže to jde zkompilovat. Teď ještě, aby to dělalo to, co má
z ~ Anonymní uživatel~ 268 příspěvků
Teda to už dělá, ale asi to není to, co chceš...
#12 z
Program dělá to co naprogramujete, ne to co chcete
To tu má tuším KIIV pod každým příspěvkem
hu
Kenvelo +2
Super člen
#13 hlucheucho
jj funguje to .. nastaví jméno, předá a uloží do .dat ;)
Díky bohu, že počítače vymysleli muži. Kdyby to byly ženy, tak binární soustavu reprezentují jedničky, nuly a "možná"
z ~ Anonymní uživatel~ 268 příspěvků
#13 hlucheucho
Ano, proto jsem to doplnil
Zjistit počet nových příspěvků
Přidej příspěvek
Uživatelé prohlížející si toto vlákno Uživatelé on-line: 0 registrovaných, 61 hostů