클래스의 멤버로 사용되는 구조체에 대한 포인터와 혼동을 없애려하고 있습니다. 나는 다음 코드를 썼다. 그러나 비록 프로그램이 컴파일 되더라도 그것은 충돌한다. 다음 코드에서 내가 뭘 잘못하고 있는지 말할 수 있을까요?c/C++에서 구조체에 대한 포인터와의 혼동
#include<stdio.h>
#include<string.h>
struct a{
int s;
int b;
char*h;
};
class test
{
public:
a * f;
void dh();
void dt();
};
void test::dh()
{
a d;
d.s=1;
d.b=2;
d.h="ffdf";
f=&d;
}
void test::dt()
{
printf("%s %d %d",f->h,f->b,f->s);
}
int main()
{
test g;
g.dh();
g.dt();
return 0;
}
Google의 규칙은 3입니다. 그런 다음 스마트 포인터를 대신 사용하십시오. –