Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Problème con... [ Windows / Autre ] (Mitch986)

jeudi 22 novembre 2007 à 12:19:32 | Problème con...

Mitch986

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 !

jeudi 22 novembre 2007 à 13:28:38 | Re : Problème con...

theneoiceman

Réponse acceptée !
plop ^^

pour info ton this->lastShader est de type "AWR_Shd_ShaderBase" si je pige bien et donc tu essaies d'affecter une variable de type "AWR_Shd_ShaderBase" à Current_Shader_List  qui est de type "AWR_Shd_ShaderList,", logique donc que ca ne passe pas vu qu'elles n'ont pas d'heritage en commun ni quoique ce soit.

la solution qui pourrait marcher serait la suivante : (  a tester tu me diras si ca marche)

AWR_Shd_ShaderBase* AWR_Shd_ShaderList::Add_Shader (AWR_Shd_ShaderBase *Shader_Base)
{
    Shader_Base->AWR_Next_Shader = NULL;
    this->Last_Shader->AWR_Next_Shader = Shader_Base;
    this->Last_Shader = Shader_Base;

 // je suppose que tu renvoies le derniere élément ajouté car sinon ta valeur de
 // retour n'etait pas cohérente avec la valeur de retour de ta fonction
    return Current_Shader_List->Shader_Base
}


Mess with the best, die like the rest



Cette discussion est classé dans : current, shader, awr, shd, shaderbase


Répondre à ce message

Sujets en rapport avec ce message

erreur mémoire [ par Mitch986 ] Bonjour,Je suis face à un problème de mémoire je pense. En effet, je cherche à écrire une fonction qui liste les dossiers d'un répertoire. J'ai fait 3 Vérification dossier [ par Mitch986 ] Bonjour !Je souhaiterai savoir si un fichier existe, j'ai pour le moment le code suivant :bool AWR_Shd_ShaderManager::Has_Shaders_Path (AWR_String Shd liste chainée et lecture d'un fichier txt [ par whiteknight ] Bonjour j'ai un probleme pour charger des données depuis un fichier texte, les données recupérées doivent etre stocké dans un liste chainée déclaré ai HELP !!! (liste ...) [ par antgre ] Bonjour,J'essaye de creer une liste chainee contenant des objet point (que g definis dans une autre classe qui a ete testee et qui marche) ... Quand j erreur "Segmentation fault" en C++ [ par antgre ] Bonjour a tous,Je travaille sur un programme dont une partie doit implementer une liste de points.Chaque point comprenant un certain nombre de caracté Pixel Shader [ par NoRabbit ] Hello,j'ai testé quelques tutoriaux sur les pixels shader avec opengl mais ça ne veut pas fonctionner. En fait, ma carte (ou mes drivers ? j'ai téléch Pixel shader [ par Galmiza ] Salut,Je suis très étonné de voir qu'il n'y a pas de boucles dans les pixels shader.Ex:; A simple pixel shader; This uses the ps 2.0 instruction set a GLUt | devc++ | cygwin [ par themioux ] Salut à tousJe n'arrive pas à comprendre... j'ai fais un programme avec emacs for windows (habitué à Linux à la fac ^^) sur un PC où Cygwin est instal Verifier que le programme executé est au bon endrois [ par XKaliBur ] Voila le bout de code suivant : /* Verification du bon fichier */    char copy[500];    char current_long_path[500];    char current_short_p


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,562 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.