Votre problème est que vous mélangez les types de données. Utilisez soit char
et les fonctions associées, soit wchar
et les fonctions associées. Si vous avez besoin de les mélanger, utilisez une fonction de conversion. Cela n'a pas plus de sens que d'essayer de passer un flottant à une fonction nécessitant une chaîne. (Le compilateur devrait être en mesure d'attraper les deux problèmes, depuis la déclaration de wprintf
est quelque chose comme int wprintf(const wchar_t *, ...)
.)
Une autre, plus petit, problème est que printf
et ce ne sont pas les bonnes fonctions pour imprimer les chaînes générales, car si il y a des signes de pourcentage dans les chaînes, vous aurez un comportement indéfini. Utilisez printf("%s",...)
ou puts(...)
ou des fonctions connexes. Et, puisqu'il s'agit de C++, il serait préférable d'utiliser la classe std::string
. Ce n'est pas parfait, mais c'est beaucoup mieux que les cordes de style C. En outre, en nous disant ce que l'erreur est serait aiderait. Vous ne nous avez même pas dit s'il s'agissait d'une erreur de compilation ou d'une erreur d'exécution.
Qu'est-ce que initError? De plus, vous devez utiliser printf si vous traitez avec char. Est-ce que initError du type wchar_t? –
Cherchez-vous 'wcstombs'? – Erik
initError est également de type const char * – Azodious