J
John Harrison
Tim Mierzejewski said:Could someone look through this code and tell me why I'm getting this error?
I'm only including the important code here. There's more obviously, but this
should be enough to solve the problem.
#include "Creature.hpp" // This defines the class Creature.
void Minotaur(Creature *Player);
int CreatureSelection;
cin >> CreatureSelection;
Creature *Play1 = new Creature
switch (CreatureSelection)
{
case (1):
Minotaur(*Play1); // Line #33
}
return 0;
void Minotaur(Creature *Player)
{
Player->SetValues(50, 20, 9, 4, false, 0, false, false, false, false,
false) // Calls a function within Creature.hpp.
}
----
C:\......FileName.cpp(33): error C2664: 'Minotaur' : cannot convert
parameter 1 from 'class Creature' to 'class Creature *'
No user-defined-conversion operator available that can perform this
conversion, or the operator cannot be called
New to pointers?
Play1 is a pointer to a Creature, that makes *Play1 a Creature. Minotaur
needs a pointer to a Creature, but you've given it a Creature, that's what
the error message says. The answer in case you haven't worked it out already
is to drop the *.
Minotaur(Play1); // Line #33
john