Я новичок в C ++ и сталкиваюсь с такой ошибкой :
Поведение: неправильная работа с памятью или утечка памяти в: MyInteger :: isPrime (int) (MyInteger.cpp: 72): main (main.cpp: 23)
at: MyInteger :: isPrime (int) (MyInteger.cpp: 59)
Что это означаетзначить и как я могу это исправить?Я пытался использовать valgrind
, но новичку кажется немного сложным.
//MyInteger.cpp
bool MyInteger::isPrime(int z){
int i,flag1;
if(z == 1){
flag1 = 1;
}
for(i = 2; i < z; i++){
if(z % i == 0)
{
flag1 = 1;
break;
}else flag1 = 0;
}
if(flag1 == 1){
return false;
}else return true;
}
//MyInteger.hpp
class MyInteger{
public:
static bool isPrime(int);
};
//main.cpp
int main{
const string words[3][2] = {"not even", "even",
"not odd", "odd",
"not prime", "prime"};
..............................
..............................
...............................
cout << "Integer " << b << " is: ";
cout << words[0][MyInteger::isEven(b)] << ", ";
cout << words[1][MyInteger::isOdd(b)] << ", ";
cout << words[2][MyInteger::isPrime(b)] << ".\n";
}