.[ ČeskéHry.cz ].
redefinice
Jdi na stránku 1, 2  Další
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> C / C++
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
survik1



Založen: 22. 08. 2007
Příspěvky: 107

PříspěvekZaslal: 23. listopad 2007, 19:15:42    Předmět: redefinice Odpovědět s citátem

Aj, tak a je čas začít s problémy v C++ Sad

Mám soubor a.cpp, soubor b.cpp a soubor def.h. V def.h definuji všechny základní globální proměnné (většinou grafické ukazatele), které se mají volat jak ze souboru a tak i b. Do obou souborů (a i b) includuji def.h. Problém je v tom, že se u druhého souboru pokouší kompilátor funkce redeklarovat a tak jediným možným východiskem je error. Pokusil jsem se to obejít pomocí
kód:

#ifdef Global_prom
#define Global_prom
(...)
#endif


Ale pak soubor b.cpp samozřejmě ty proměnné ani nezná. Nevíte o nějakém řešení?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 23. listopad 2007, 19:20:00    Předmět: Odpovědět s citátem

extern se jmenuje tvoje reseni

promenne musis nadefinovat v jednom *.cpp - nejlepe globals.cpp - a do vsech ostatnich je uvodit (pomoci toho tveho def.f) jako extern typ promenna
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
nou



Založen: 28. 07. 2007
Příspěvky: 1050

PříspěvekZaslal: 23. listopad 2007, 20:24:39    Předmět: Odpovědět s citátem

rezno a to ho neupozornis ze pouzivat globalne premenne sa nema??
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 23. listopad 2007, 20:45:19    Předmět: Odpovědět s citátem

Tady je to celkem zbytečné, časem na to dojde.
_________________
AMD Open Source Graphics Driver Developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Tringi



Založen: 28. 07. 2007
Příspěvky: 290

PříspěvekZaslal: 23. listopad 2007, 21:03:50    Předmět: Odpovědět s citátem

Ono vůbec best practices jsou pro začátečníka spíše přítěží, když se učí na prográmcích typu Hello World.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
survik1



Založen: 22. 08. 2007
Příspěvky: 107

PříspěvekZaslal: 23. listopad 2007, 21:08:05    Předmět: Odpovědět s citátem

a co třeba LoadImage(), kde potřebuji mít přístupný surface jak z main.cpp, tak z load.cpp Wink
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 23. listopad 2007, 21:14:47    Předmět: Odpovědět s citátem

survik1 napsal:
a co třeba LoadImage(), kde potřebuji mít přístupný surface jak z main.cpp, tak z load.cpp Wink


me z tebe slahne Wink - to nemuzes najit to extern v googlu?

globals.cpp
kód:
int i = 10;


def.h
kód:
extern int i;


muj1.cpp
kód:
#include "def.h"
printf("%d", i);


muj2.cpp
kód:
#include "def.h"
printf("%d", i+10);
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
survik1



Založen: 22. 08. 2007
Příspěvky: 107

PříspěvekZaslal: 23. listopad 2007, 21:34:46    Předmět: Odpovědět s citátem

to rezna:
Sry, jsem zapoměl, na koho to směřovat Very Happy Já už to mám dávno zprovozněný (díky), já to psal jako ukázku nou a eosie, proč potřebuju globální proměnné Wink
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 23. listopad 2007, 22:06:13    Předmět: Odpovědět s citátem

survik1 napsal:
to rezna:
Sry, jsem zapoměl, na koho to směřovat Very Happy Já už to mám dávno zprovozněný (díky), já to psal jako ukázku nou a eosie, proč potřebuju globální proměnné Wink


ok - v tom pripade pro LoadImage nemuze ten surface brat jako parametr?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
prost



Založen: 30. 07. 2007
Příspěvky: 109
Bydliště: cvut fel, stm

PříspěvekZaslal: 23. listopad 2007, 22:25:02    Předmět: Odpovědět s citátem

Tringi napsal:
Ono vůbec best practices jsou pro začátečníka spíše přítěží.

presne tak.
a vubec kdyz jde o uzivatele resp. hrace, tak ho veci jako globalni promenne a rekl bych i typ free licence (open a closed source) trapi ze vseho nejmin
_________________
BbB
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
survik1



Založen: 22. 08. 2007
Příspěvky: 107

PříspěvekZaslal: 23. listopad 2007, 22:26:03    Předmět: Odpovědět s citátem

rezna napsal:
survik1 napsal:
to rezna:
Sry, jsem zapoměl, na koho to směřovat Very Happy Já už to mám dávno zprovozněný (díky), já to psal jako ukázku nou a eosie, proč potřebuju globální proměnné Wink


ok - v tom pripade pro LoadImage nemuze ten surface brat jako parametr?


To jsem zkoušel, ale dělalo to tam nějaký čachry machry, tak jsem to vyřešil jednodušeji Wink
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 23. listopad 2007, 23:29:26    Předmět: Odpovědět s citátem

survik1 napsal:
rezna napsal:
survik1 napsal:
to rezna:
Sry, jsem zapoměl, na koho to směřovat Very Happy Já už to mám dávno zprovozněný (díky), já to psal jako ukázku nou a eosie, proč potřebuju globální proměnné Wink


ok - v tom pripade pro LoadImage nemuze ten surface brat jako parametr?


To jsem zkoušel, ale dělalo to tam nějaký čachry machry, tak jsem to vyřešil jednodušeji Wink


v tom pripade ukaz kod - protoze to ti nemuze delat psi kusy Wink
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
ladik-BigBoss



Založen: 28. 07. 2007
Příspěvky: 162

PříspěvekZaslal: 29. listopad 2007, 08:54:22    Předmět: Odpovědět s citátem

prost napsal:
Tringi napsal:
Ono vůbec best practices jsou pro začátečníka spíše přítěží.

presne tak.
a vubec kdyz jde o uzivatele resp. hrace, tak ho veci jako globalni promenne a rekl bych i typ free licence (open a closed source) trapi ze vseho nejmin


to je sice pravda, ale treba jeden muj projekt na globalni promenne dojel... proste to nakonec bylo tak neprehledne a skryvalo to tolik chyb ze to kdekomu padalo. skoda ze to nepadalo me, jinak bych to aspon trochu odladil Confused
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovi WWW stránky
Ladis



Založen: 18. 09. 2007
Příspěvky: 1537
Bydliště: u Prahy

PříspěvekZaslal: 29. listopad 2007, 12:18:57    Předmět: Odpovědět s citátem

Pred nejakym tim rokem sem udelal jednu ne-malou aplikaci v Ccku s globalnimi promennymi, ktery byly vsude v kodu pouzivany, a odbugovani mi trvalo priblizne stejne dlouho jako samotne naprogramovani! Wink Toliko k pouzivani globalnich promennych.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
wozembouch



Založen: 03. 09. 2007
Příspěvky: 31

PříspěvekZaslal: 29. listopad 2007, 13:30:19    Předmět: Odpovědět s citátem

Pouzivani globalni promenych (az na par vyjimek, kde se naopak velice hodi) se rovna sebevrazde , ale kazdy by si tim mel projit. Malemu diteti muzete zjevne pravdy troubit do hlavy stokrat, ale pokud si nenabije, tak neposlechne.

Jsem relativne cerstvy tatinek + takhle jsem samozrejmne taky programoval.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> C / C++ Časy uváděny v GMT + 1 hodina
Jdi na stránku 1, 2  Další
Strana 1 z 2

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna