У меня есть структура с двумя членами, например:
struct DataSet {
int x;
int y;
};
... и я должен получить доступ к тем в методе, но только по одному за раз, например:
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);
Вывод, который я хочу получить:
16
36
Что мне делать, когда мне нужно решить такую проблему? Есть ли тип данных, который может получить доступ к члену?
У @ ocket8888
—
супер
c++есть указатели на члены, поэтому нет необходимости в пользовательских взломах указателей, чтобы это работало.
@eerorika Вы правы. Ранее у меня было две строки в качестве членов, но я изменил их на int. Я забыл удалить "std ::".
—
Адриан
dsm = 0к доступуxиdsm = 4доступуy, а затем получаете доступ к ним как кint val = int(*(&ds+dsm)).