读完这篇文章后你可能会说我疯了,但当你读到我在这里说的话时,我真的希望你相信我。为了了解可能导致内存泄漏或其他错误的情况,我编写了以下代码并尝试在我的电脑上编译,
#include <iostream>
using namespace std;
class game
{
int x;
public :
char *s;
char read();
char manipulation();
};
char game :: read()
{
char string[100];
cout<<"Enter name ";
cin>>string;
s = string;
cout<<"Name is "<<&s<<endl;
}
int main()
{
game games,games1;
// games.read();
cout<<"Name is "<<games.s<<endl;
return 0;
}
如果我在 main 中执行 games.read(),我的防病毒软件 BITDEFENDER 会显示以下错误,“BITDEFENDER 在 c:/c++/inline.exe 中检测到受感染的项目。病毒名称:Gen:Variant.Graftor。 51542. 为保护您,该文件已被消毒”
inline.cpp 是我的程序的名称。如果我删除该行“games.read()”,它编译得很好。指针是否在某处导致内存泄漏?