Интересно, можно ли использовать одну функцию, такую как swap(), для использования в двух разных структурах для их замены? Так, например,Одна функция подкачки, которая будет использоваться двумя различными структурами
typedef struct{
char a;
}one;
typedef struct{
int c;
}two;
swap(??,??){
// code to swap 2 elements
}
one arr[8];
arr[1].a='a';
arr[2].a='b';
two brr[8];
brr[1].c = 11;
brr[2].c = 12;
Итак, основываясь на том, что это возможно для функции подкачки, чтобы иметь возможность поменять местами элементы в структурах? Например, можно использовать: 1. swap (arr [1], arr [2]); 2. swap (brr [1], brr [2]);
С моей точки зрения, такая вещь не может быть выполнена, так как тип данных для struct (а также его элемента) различен. Мне было интересно создать модульную функцию для одного моего проекта, поэтому помощь была бы действительно оценена.
Спасибо.
можно определить макрос для этого –
Использование C и, как вы написали, нет. Это невозможно без написания действительно уродливого кода. Однако вам может потребоваться расследование профсоюзов. –
или изменить его на 'swap (foo, bar, size)' – user3528438