Bonjour,
Comme vous allez le voir je débute en C++ et je suis face à un problème. Voici la fonction en question :
AWR_Shd_ShaderBase* AWR_Shd_ShaderList::Add_Shader (AWR_Shd_ShaderBase *Shader_Base)
{
Shader_Base->AWR_Next_Shader = NULL;
Current_Shader_List = (this->Last_Shader); // *
Current_Shader_List->AWR_Next_Shader = Shader_Base;
return Current_Shader_List;
}
A la compilation, sur la ligne avec l'étoile, le compilateur me sort une erreur : "class AWR_Shd_ShaderBase *(__thiscall AWR_Shd_ShaderList::*)(void)' ne peut pas etre converti en 'class AWR_Shd_ShaderBase *' "
Quelques explications s'imposent :
J'ai donc une classe AWR_Shd_ShaderList, qui est une suite simplement chainée de AWR_Shd_ShaderBase. Chaque élément de AWR_Shd_ShaderBase possède un pointeur (AWR_Next_Shader) sur le suivant. Current_Shader_List est le pointeur que j'utilise pour parcourir la liste et ne pas modifier le premier pointeur par erreur. Last_Shader renvoie un AWR_Shd_ShaderBase* sur le dernier élément de la liste. La fonction Add_Shader est donc pour ajouter un Shader à la fin de la liste.
Voyez-vous d'où vient le pb ? Merci bcp !
