C++の次のコードについて質問があります。
typedef struct {
int id;
int age;
} Group1;
typedef struct {
int id;
char name;
float time;
} Group2;
typedef union {
Group1 group1;
Group2 group2;
} ServiceData;
typedef struct {
ServiceData data;
} Time;
次に、変数があります。
Group1 * group1;
group1 = new Group1;
group1->id = 10;
group1->age = 20;
次に、次のように定義された2つのメソッドがあります。
void method1(ServiceData * data) {
//inside the method call method hello
hello(data);
};
void hello(Group1 *group1) {
printf("%d",group1->id);
}
私はこのように呼びますmethod1
:
method1((ServiceData *)group1);
しかし、内部method1
では、パラメーターgroup1
がメソッドに渡されるときに、hello()
内部のidの値を取得したいと思いますgroup1
。hello
キャストインメソッドを実行する必要がありますか?または、の内部で、渡す前にmethod1
キャストする必要がありますか?(group*)
hello()