Voilà j'ai une class 'UintEditBox' servant à modifier un unsigned int (comme une boîte d'édition). J' ai une structure 'GroundBossData' qui contient des données relative à un boss de jeu vidéo qui contient un unsigned int représentant la valeur d'argent que le joueur gagne suite à la destruction de ce dernier.
Et j'ai donc un message d'erreur que je ne comprends pas, même après quelques recherches sur internet avec des mots clés :
/bin/sh -c '/usr/bin/make -j4 -e -f "editor.mk" MakeIntermediateDirs && /usr/bin/make -j4 -e -f "editor.mk" ./Debug/sources_edition_groundBoss_objects_thumbnailsComponents_globalSettingsThumbnail.cpp.o'
----------Building project:[ editor - Debug ] (Single File Build)----------
/usr/bin/g++-8 -c "/media/antoine/projetsLinux/projets/programmation/jeux/mercenaries/codelite/MercenariesProject/editor/sources/edition/groundBoss/objects/thumbnailsComponents/globalSettingsThumbnail.cpp" -std=c++17 -Wall -Wextra -pedantic -I/usr/include/SDL2 -D_REENTRANT -g -O0 -DEDITM -o ./Debug/sources_edition_groundBoss_objects_thumbnailsComponents_globalSettingsThumbnail.cpp.o -I../commonFiles/sources -Isources -I.
/media/antoine/projetsLinux/projets/programmation/jeux/mercenaries/codelite/MercenariesProject/editor/sources/edition/groundBoss/objects/thumbnailsComponents/globalSettingsThumbnail.cpp: In constructor 'GlobalSettingsThumbnail::GlobalSettingsThumbnail(std::ofstream&, sdl2::RendererWindow&, const sdl2::Font&, std::unique_ptr<GroundBossData>&)':
/media/antoine/projetsLinux/projets/programmation/jeux/mercenaries/codelite/MercenariesProject/editor/sources/edition/groundBoss/objects/thumbnailsComponents/globalSettingsThumbnail.cpp:9:168: error: no matching function for call to 'UintEditBox::UintEditBox(<brace-enclosed initializer list>)'
valueAtDestructionBox{errorLog, rndWnd, SDL_Rect{22*SQR_SIZE, 14*SQR_SIZE, GRNDBOSS::EDITBOX_W, GRNDBOSS::EDITBOX_H}, GRNDBOSS::FONT_SIZE, dataPtr->valueAtDestruction}
^
In file included from ../commonFiles/sources/generic/interface/widgets/boxesIncludes.h:13,
from sources/edition/groundBoss/objects/thumbnailsComponents/globalSettingsThumbnail.h:6,
from /media/antoine/projetsLinux/projets/programmation/jeux/mercenaries/codelite/MercenariesProject/editor/sources/edition/groundBoss/objects/thumbnailsComponents/globalSettingsThumbnail.cpp:1:
../commonFiles/sources/generic/interface/widgets/uint_editBox.h:23:2: note: candidate: 'UintEditBox::UintEditBox(UintEditBox&&)'
UintEditBox( UintEditBox&& ) = default;
^~~~~~~~~~~
../commonFiles/sources/generic/interface/widgets/uint_editBox.h:23:2: note: candidate expects 1 argument, 5 provided
In file included from ../commonFiles/sources/generic/interface/widgets/boxesIncludes.h:13,
from sources/edition/groundBoss/objects/thumbnailsComponents/globalSettingsThumbnail.h:6,
from /media/antoine/projetsLinux/projets/programmation/jeux/mercenaries/codelite/MercenariesProject/editor/sources/edition/groundBoss/objects/thumbnailsComponents/globalSettingsThumbnail.cpp:1:
../commonFiles/sources/generic/interface/widgets/uint_editBox.h:17:2: note: candidate: 'UintEditBox::UintEditBox(std::ofstream&, sdl2::RendererWindow&, const SDL_Rect&, unsigned int, unsigned int&)'
UintEditBox(std::ofstream& errorLog, sdl2::RendererWindow& rndWnd, const SDL_Rect& boxSize, unsigned int fontSize, unsigned& refValue);
^~~~~~~~~~~
../commonFiles/sources/generic/interface/widgets/uint_editBox.h:17:2: note: no known conversion for argument 5 from '<unresolved overloaded function type>' to 'unsigned int&'
editor.mk:2288: recipe for target 'Debug/sources_edition_groundBoss_objects_thumbnailsComponents_globalSettingsThumbnail.cpp.o' failed
make: *** [Debug/sources_edition_groundBoss_objects_thumbnailsComponents_globalSettingsThumbnail.cpp.o] Error 1
====1 errors, 4 warnings====
Apparemment, le compilateur n'est pas d'accord avec le unsigned int "valueAtDestruction" de la classe GroundBossData que je donne en paramètre à la classe UintEditBox qui prend cet argument comme une référence vers "unsigned int".
Car g++ avais mis un chevron sur la dernière "curly brace" de la liste d'initialisation du constructeur et j'étais sur que l'erreur venait de la dernière ligne du constructeur (juste au-dessus). Pourtant je sais très bien que le chevron à cette place signifie une erreur dans la liste d'initialisation et pas forcement la dernière ligne de la liste d'initialisation (ça fait cinq ans que je code en C++ avec g++, mais je suis pas un expert). Bon ben c'est une faute d'étourderie hein, désolé, je sais très bien qu'une fonction s'appelle en mentionnant deux parenthèses sans rien entre (j'ai honte).
no known conversion for argument from '<unresolved
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Mon site web de jeux SDL2 entre autres : https://www.ant01.fr
Mon site web de jeux SDL2 entre autres : https://www.ant01.fr
Mon site web de jeux SDL2 entre autres : https://www.ant01.fr
Mon site web de jeux SDL2 entre autres : https://www.ant01.fr