Hello,

J'essaie de coder une classe de Meta Agent, alors normalement c'est un Design Pattern, mais j'ai pas trouvé trop de trucs dessus, juste un article...
Alors c'est une classe qui va hériter de deux autres classes (Héritage multiple qui déjà me fait un peu peur :euh: ) Mais pour corser le tout, les classes sont des templates...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
template<typename ModelT, typename BehaviorT>
class Agent : public ModelT, BehaviorT
{
public:
	// Constructeur
	Agent<typename ModelT, typename BehaviorT>(Vector3 acceleration, Vector3 velocity, Vector3 position) 
		: ModelT(Vector3 acceleration, Vector3 velocity, Vector3 position)
	{
	};

Alors j'essaie de faire marcher le constructeur, mais ça marche pas trop...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
		 sphere1 = new MySphere(Vector3::ZERO, Vector3(0,0,400), Vector3::ZERO); // Par défaut tous les vecteurs sont nuls.
Ca ça marche

Code : Sélectionner tout - Visualiser dans une fenêtre à part
		 agent1 = new Agent<MySphere,Circle>(Vector3::ZERO, Vector3(0,0,400), Vector3::ZERO)
Mais pas ça .... o_O (La struct Circle existe)

Des idées ?