Tôi có một cấu trúc với hai thành viên, ví dụ:
struct DataSet {
int x;
int y;
};
..., và tôi phải truy cập những thứ đó trong một phương thức, nhưng mỗi lần chỉ có một phương thức:
void foo(StructMember dsm) { // ("StructMember" does not exist)
DataSet ds;
ds.x = 4;
ds.y = 6;
std::cout << ds.dsm * ds.dsm << std::endl;
}
foo(x);
foo(y);
Đầu ra tôi muốn có:
16
36
Tôi nên làm gì khi phải giải quyết vấn đề như thế này? Có một loại dữ liệu có thể truy cập một thành viên?
@ ocket8888
—
siêu
c++có con trỏ thành viên, vì vậy không cần hack con trỏ tùy chỉnh để thực hiện công việc này.
@eerorika Bạn nói đúng. Trước đây tôi có hai chuỗi là thành viên, nhưng tôi đã thay đổi chúng thành int. Tôi đã quên xóa "std ::".
—
Adrian
dsm = 0để truy cậpxvàdsm = 4truy cậpy, sau đó bạn sẽ truy cập chúng như thế nàoint val = int(*(&ds+dsm)).