Lorsque vous exécutez cette opération, vous devez obtenir une erreur de segment. Ce doit être quelque chose avec une mauvaise utilisation des variables de classe privée dans la fonction. Juste le compiler et essayez de l'exécuter. Ce code a été édité par PaulMcKenzie!Erreur de segmentation lors de la tentative d'exécution de l'exécutable
Affine.cpp
#include <string>
class Affine
{
std::string m_encryptedText;
std::string m_decryptedText;
std::string m_text;
int m_aKey;
int m_bKey;
public:
void encrypt();
Affine(const std::string &text,int aKey,int bKey) : m_text(text)
{
setKey(aKey, bKey);
}
void setKey(int x, int y) { m_aKey = x; m_bKey = y; }
};
void Affine::encrypt()
{
m_decryptedText = m_text;
for(int i=0;m_decryptedText[i] != '\0';i++)
{
m_encryptedText[i] = static_cast<char>(m_aKey*m_decryptedText[i]+m_bKey);
}
}
int main()
{
Affine a("hey", 1, 2);
a.encrypt();
}
S'il vous plaît faire un [mcve]. – Yunnosch
* L'erreur n'apparaît que lorsque vous essayez de l'exécuter. * - En d'autres termes, vous avez un bug. Une compilation réussie signifie uniquement qu'il n'y a pas d'erreurs de syntaxe. – PaulMcKenzie
De quoi d'autre avez-vous besoin? Ne vous attendez pas à ce qu'il lance une erreur de compilation. Il ne fonctionnera pas une fois compilé. Le problème devrait être dans ces parties du code. Voyez-vous une erreur de segmentation ici? – alienCY