Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
25.12.2001, 20:33
fischKopf



hi leute.

ich habe in der player.h eine bool funktion deklariert.
ich möchte nun aus der shotgun.cpp diese bool funktion abfragen ob sie true oder false ist.

mit: if(PxP == true) klappt das aber nicht. //PxP is wie man unschwer erkennen kann, die bool funktion.

also wie kann ich nun auf die bool funktion die in player.h deklariert ist, von der shotgun.cpp aus, zugreifen?

--

zum Seitenanfang zum Seitenende Profil || Suche
001
25.12.2001, 20:51
thinktank



Ist die Funktion eine Member-Funktion von CBasePlayer ?
Oder steht sie ausserhalb der Klassendefinitionen ?

1. Über m_pPlayer ( musst du nicht deklarieren, ist Membervariable von CBaseWeapon ). Das sähe dann so aus :
if (m_pPlayer->PxP()) // Bewirkt das gleiche wie if (m_pPlayer->PxP()==true)

2. Dann ist sie global, d.h., dass du gar nichts machen musst :D ausser in die shotgun.cpp #include "player.h" zu schreiben ( was eigentlich schon stan_D_ard ( *g* ) ist).

Das erste funzt nur, wenn du die Funktion aus einer Memberfunktion von CShotgun aufrufst.

Kapiert ? o_O

--

zum Seitenanfang zum Seitenende Profil || Suche
002
25.12.2001, 21:00
RirA



extern BOOL PxP;

--

zum Seitenanfang zum Seitenende Profil || Suche
003
25.12.2001, 21:01
fischKopf



hi

also irgendwie krieg ich das nicht hin. ich habe die bool funktion in der player.h deklariert. und zwar bei:

class CBasePlayer : public CBaseMonster
{
public:
//////////hier irgendwo....///////////////

wie kann ich nun aber von der shotgun.cpp, abfragen ob diese bool funktion true oder false ist?

void CShotgun::PrimaryAttack()
{
if(PxP == true)
{
dann....
}
else
{
ansonsten...
}

geht aber nicht. wie gehts richtig?

--

zum Seitenanfang zum Seitenende Profil || Suche
004
25.12.2001, 21:08
fischKopf



RirA danke. aber das klappt auch nicht.

nun: player.h (ziemlich am ende) extern BOOL PxP;

shotgun.cpp error beim linken:

player.obj : error LNK2001: unresolved external symbol "int PxP" (?PxP@@3HA)
shotgun.obj : error LNK2001: unresolved external symbol "int PxP" (?PxP@@3HA)

:-(((((((

--


Dieser Beitrag wurde am 25.12.2001 um 21:09 von fischKopf bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
005
25.12.2001, 21:16
RirA



extern BOOL PxP; <<< das kommt in die shotgun.cpp

--

zum Seitenanfang zum Seitenende Profil || Suche
006
25.12.2001, 21:22
Mazze



Wie soll denn PxP eine Funktion sein?

Etwa mit #define PxP PxP()
Schwachsinn....

Wie soll man eine nichtglobale Funktion per extern in eine andere Übersetzungseinheit bringen?

Ich blick irgendwie nicht durch bei dem was ihr da macht?

--

BattleTech-MOD:
http://bthl.unitedgaming.net/

zum Seitenanfang zum Seitenende Profil || Suche
007
25.12.2001, 21:22
hausi



Einfach if (m_pPlayer->PxP()). Das funzt sicher!

--

zum Seitenanfang zum Seitenende Profil || Suche
008
25.12.2001, 21:27
RirA



sorry, hatte ich übersehn...

--

zum Seitenanfang zum Seitenende Profil || Suche
009
25.12.2001, 22:36
fischKopf



/* Einfach if (m_pPlayer->PxP()). Das funzt sicher! */

nope. da es eine bool funktion ist und keine void, gehts nun so:

Einfach if (m_pPlayer->PxP == true)

*g* aber danke allen. das mit dem m_pPlayer war mein problem :-)

--

zum Seitenanfang zum Seitenende Profil || Suche
010
25.12.2001, 22:54
thinktank



*G*

Zitat:

da es eine bool funktion ist und keine void, gehts nun so
Einfach if (m_pPlayer->PxP == true)

Wo ist denn da der Sinn ? :)

Wenn die Funktion void wäre, gäbe sie gar nichts zurück .....

--

zum Seitenanfang zum Seitenende Profil || Suche
011
26.12.2001, 01:55
fischKopf



ja ist ja klar. aber er meinte ja das () nach PxP kommt. das geht ja aber bene nicht da == bool *g*

--

zum Seitenanfang zum Seitenende Profil || Suche
012
26.12.2001, 11:42
Mazze



PxP ist dann aber keine Funktion...

Außerdem ist
Quellcode:
if (m_pPlayer->PxP == true)

und
Quellcode:
if(m_pPlayer->PxP)

das gleiche!

--

BattleTech-MOD:
http://bthl.unitedgaming.net/

zum Seitenanfang zum Seitenende Profil || Suche
013
26.12.2001, 12:01
Archangel



yay, also wirklich...
lern lieber erstmal richtig coden, und fang dann erst mit hl-coding an, also funktion und variable auseinanderzuhalten is doch das mindeste, wenn man dass nich kann is das ungefähr so als kenne man kein if...

ja ist ja klar. aber er meinte ja das () nach PxP kommt. das geht ja aber bene nicht da == bool *g

und nicht alle funktionen sind void, eine funktion kann ALLES zurückgeben..
also, kauf dir n gutes c/c++ buch, und wag dich dann an hl..

(das mit klassen scheinst du auch noch nich so ganz verstanden haben)

--

Mar 01 01:10:13 <voice> jo
Mar 01 01:10:40 <voice> bis dann ^^
Mar 01 01:11:20 <Archangel> jo
**** ENDING LOGGING AT Tue Mar 1 01:58:13 2005

zum Seitenanfang zum Seitenende Profil || Suche
014
26.12.2001, 17:55
fischKopf



!!!!!!

--

zum Seitenanfang zum Seitenende Profil || Suche
015
26.12.2001, 17:57
fischKopf



ich habs nun hald verwechselt. ist das so schlimm?

--

zum Seitenanfang zum Seitenende Profil || Suche