Le codage Base64 de la Chaîne dans Qt 5
Je suis en train d'encoder en base64 un QString
en Qt5 . Cependant, je reçois un message d'erreur indiquant que identifier not found
sur la ligne QString b64string = base64_encode(src);
#include <QCoreApplication>
#include <QByteArray>
#include <QBitArray>
#include <QString>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QString src = "Hello";
QString b64string = base64_encode(src);
qDebug() << "Encoded string is" << b64string;
return a.exec();
}
QString base64_encode(QString string){
QByteArray ba;
ba.append(string);
return ba.toBase64();
}
Pourquoi l'erreur ne se produise? quelqu'un peut-il remarquer mon erreur?
- Vous devez disposer d'un prototype de fonction pour
base64_encode
jusqu'au-dessus de l'appeler quelque part. - u signifie quelque chose comme QString base64_code(QString string); ?? . Au-dessus de la fonction principale
Vous devez vous connecter pour publier un commentaire.
L'identificateur il ne peut pas trouver est
base64_encode
. C'est parce qu'il ne vient pas jusqu'à ce que plus tard dans le fichier. La manière habituelle de la prévention de cette erreur est de mettre un prototype de fonction au début du fichier ou dans un autre en-tête:Vous pouvez aussi simplement réorganiser le code de sorte que rien de ce qui, selon la définition est le dernier, c'est à dire déplacer
main
à la fin.Le problème que vous rencontrez est ce que Mark Rançon dit , il suffit de changer l'ordre des fonctions ou écrire une fonction de prototype au début du fichier pour résoudre votre problème. mais Quand je veux en base 64 j'ai l'habitude de faire ce
de sorte que vous ne avez pas à écrire une fonction personnalisée .