Noch ne Anfängerfarge zu Klassen
-
class Warrior { private: int armor; int frequenz; int dmgb; int dmg; int HP; public: void Warrior::attack(Warrior opponent) { int all; all = (dmg - opponent::armor) + dmgb; opponent::HP -= all; } };
Fehler:
error C2653: 'opponent' : Keine Klasse oder Namespace error C2653: 'opponent' : Keine Klasse oder Namespace
Warum denn das??? Ich hab doch gesagt, dass opponet ein Warrior ist.
Gruß
Glamdring
-
versuchs mal mit nem "." statt dem "::"
-
#include <iostream> #include <conio.h> class Warrior { private: int armor; int frequenz; int dmgb; int dmg; int HP; public: void attack( Warrior &opponent ); }; void Warrior::attack( Warrior &opponent ) { int all = (dmg - opponent.armor) + dmgb; opponent.HP -= all; } int main() { Warrior a,b,c; std::cout << &a << " " << &b << " " << &c << std::endl; a.attack(b); b.attack(c); getch(); }