R
Renato Golin
Hi all,
I'm fiddling with policies but I'm having some problems...
My Code:
class MovePolicy { };
class EatPolicy { };
class ReproducePolicy { };
template <
class Move = MovePolicy,
class Eat = EatPolicy,
class Reproduce = ReproducePolicyclass Thing : public Move, Eat, Reproduce
{
public:
Thing() { }
virtual ~Thing() { }
};
class NoMove : public MovePolicy { };
class NoEat : public EatPolicy { };
class NoReproduce : public ReproducePolicy { };
class Stone : public Thing <NoMove, NoEat, NoReproduce>
{
public:
Stone() { }
~Stone() { }
};
int
main () {
Thing<>* s = new Stone();
return 0;
}
I get the error:
In function ‘int main()’:
error: cannot convert ‘Stone*’ to ‘Thing<MovePolicy, EatPolicy,
ReproducePolicy>*’ in initialization
Any pointers (that doesn't start with 0x...) on the subject are appreciated.
cheers,
--renato
I'm fiddling with policies but I'm having some problems...
My Code:
class MovePolicy { };
class EatPolicy { };
class ReproducePolicy { };
template <
class Move = MovePolicy,
class Eat = EatPolicy,
class Reproduce = ReproducePolicyclass Thing : public Move, Eat, Reproduce
{
public:
Thing() { }
virtual ~Thing() { }
};
class NoMove : public MovePolicy { };
class NoEat : public EatPolicy { };
class NoReproduce : public ReproducePolicy { };
class Stone : public Thing <NoMove, NoEat, NoReproduce>
{
public:
Stone() { }
~Stone() { }
};
int
main () {
Thing<>* s = new Stone();
return 0;
}
I get the error:
In function ‘int main()’:
error: cannot convert ‘Stone*’ to ‘Thing<MovePolicy, EatPolicy,
ReproducePolicy>*’ in initialization
Any pointers (that doesn't start with 0x...) on the subject are appreciated.
cheers,
--renato