Posté le 20/11/2014 21:54
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 85 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd
Citer : Posté le 20/11/2014 22:13 | #
Regarde là : http://www.planet-casio.com/Fr/forums/topic9775-1--Aide-SDK--Les-erreurs-de-compilation.html
Description : Une fonction est appelée, mais son implémentation n'a pas été compilée.
Solution : Vérifier l'orthographe du nom, vérifier si le fichier contenant la fonction est bien dans la fenêtre ''Files in project''. Si tout ça est bon, essayez d'éditer le fichier contenant l'implémentation de la fonction (ajouter un espace, le supprimer, sauvegarder), ça permettra au compilateur de re-compiler le fichier.
Vitesse des fonctions en Basic Casio | 7 days CPC | Casio Universal Wiki | Tutoriel Basic Casio
>>> Give me a click Brother <<< >>> Teste mon générateur de mots nouveaux <<<
>>> Random Youtube Video <<<
Citer : Posté le 20/11/2014 23:29 | #
On ne peut pas utiliser la lib string
Il y a quelques autres fonctions de base qui ne fonctionnent pas non plus comme vector
Citer : Posté le 21/11/2014 06:30 | #
On ne peut pas utiliser la lib string
Il y a quelques autres fonctions de base qui ne fonctionnent pas non plus comme vector
Toute la réponse est là.
Le SDK supporte le langage C++, mais pas la Standard Template Library (qui sont deux choses bien distinctes). Il existe une norme qui stipule que tout compilateur C++ doit supporter la STL mais visiblement Hitachi (ou devrais-je dire, Renesas) ne s'en soucie pas.
Du coup, on n'a accès à aucun string, vector et autres conteneurs associatifs.
Citer : Posté le 21/11/2014 09:15 | #
Merci pour vos réponses,
Oui en effet j'avais bien vu que la STL ne fonctionnait pas (à mon grand regret). Mais string est censé fonctionner je pense, étant donné que son fichier source est dans les fichiers du compilateur, et j'ai déjà réussi à créer un objet string, seule cette fonction pose problème. J'ai vu que certaines fonctions du string n'étaient pas prises en charge (comme push_back), mais insert est présent dans le fichier <string> du compilateur... Sinon j'essaierai de faire autrement, mais sans string ni STL je vais perdre du temps Je vais essayer de faire ce que me dit totoyo
Ajouté le 21/11/2014 à 09:32 :
J'utilise la méthode insert ainsi :
expression.insert(expression.length(), "^");
et le compilateur me dit
string::insert(unsigned long, const char *)
or expression.length renvoie un type size_t, comme ce qui est demandé par le prototype de insert
et le compilateur me parle d'un unsigned long (aucun prototype de insert n'est déclaré ainsi)
Je ne sais pas exactement ce qu'est size_t... Le problème ne viendrait-il pas de la ?
Citer : Posté le 21/11/2014 09:49 | #
http://www.cplusplus.com/reference/cstring/size_t/
Unsigned integral type
Alias of one of the fundamental unsigned integer types.
Citer : Posté le 21/11/2014 18:10 | #
j'avais bien vu que la STL ne fonctionnait pas (à mon grand regret). Mais string est censé fonctionner je pense, étant donné que son fichier source est dans les fichiers du compilateur, et j'ai déjà réussi à créer un objet string, seule cette fonction pose problème.
Ce n'est pas aussi simple : le compilateur de Renesas supporte une partie de la STL, mais dans ton cas impossible de créer un vector par exemple. Quant aux headers, ne t'y fie pas, ils ont copiés ceux existants dans une autre application : stdio.h contient même le prototype de printf() qu'ils n'ont jamais écrite !
J'ai vu que certaines fonctions du string n'étaient pas prises en charge (comme push_back), mais insert est présent dans le fichier <string> du compilateur...
Comme je l'ai dit le support est partiel. Mais, autre problème, les fonctions existantes ne sont pas assurées de fonctionner correctement !
Sinon j'essaierai de faire autrement, mais sans string ni STL je vais perdre du temps
C'est pour ça qu'elle devrait exister avec tout compilateur.
Quant à size_t, c'est juste un typedef d'unsigned int défini dans stddef.h, stdlib.h et stdio.h. Tu peux mettre un int sans problème ! Le principe est juste de limiter au minimum la taille de la chaîne, bien que tu n'alloueras jamais une chaîne de plus de INT_MAX caractères.
Citer : Posté le 22/11/2014 17:27 | #
Merci, donc impossible d'utiliser string... Tant pis !
Citer : Posté le 22/11/2014 17:43 | #
Sinon, tu peux toujours l'implémenter toi-même mais c'est sûr que c'est long.