//given 2 distinct types
struct Foo{ int a,b,c; };
struct Bar{ float x,y,z; };
//and a function that takes each type by pointer
void function(struct Foo* x, struct Bar* y){}
int main() {
struct Foo x;
struct Bar y;
//why am I able to pass both parameters in the wrong order,
//and still get a successful compile without any warning messages.
function(&y,&x);
//compiles without warnings.
//potentially segfaults based on the implementation of the function
}
Ly9naXZlbiAyIGRpc3RpbmN0IHR5cGVzCnN0cnVjdCBGb297IGludCBhLGIsYzsgfTsKc3RydWN0IEJhcnsgZmxvYXQgeCx5LHo7IH07CgovL2FuZCBhIGZ1bmN0aW9uIHRoYXQgdGFrZXMgZWFjaCB0eXBlIGJ5IHBvaW50ZXIKdm9pZCBmdW5jdGlvbihzdHJ1Y3QgRm9vKiB4LCBzdHJ1Y3QgQmFyKiB5KXt9CgppbnQgbWFpbigpIHsKICAgIHN0cnVjdCBGb28geDsKICAgIHN0cnVjdCBCYXIgeTsKCiAgICAvL3doeSBhbSBJIGFibGUgdG8gcGFzcyBib3RoIHBhcmFtZXRlcnMgaW4gdGhlIHdyb25nIG9yZGVyLAogICAgLy9hbmQgc3RpbGwgZ2V0IGEgc3VjY2Vzc2Z1bCBjb21waWxlIHdpdGhvdXQgYW55IHdhcm5pbmcgbWVzc2FnZXMuCglmdW5jdGlvbigmeSwmeCk7CgkKICAgIC8vY29tcGlsZXMgd2l0aG91dCB3YXJuaW5ncy4gIAogICAgLy9wb3RlbnRpYWxseSBzZWdmYXVsdHMgYmFzZWQgb24gdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBmdW5jdGlvbgp9