The best solution to do this may be to write public method inside the structure which will compare themselves with structure passed through parameter.
This will look like this
struct Activity {
int id;
string Description;
int parameter1;
int parameter2;
int parameter3;
int parameter4;
etc...
public:
bool compare(const Activity& param)
{
//...compare structs here like:
if (id != param.id)
//write something
//etc...
//at the end you can also return bool that indicates that structs are equal or not
return true;
}
}
This will obviously work only with two the same classes unless you write more comparison methods, but it may be difficult to compare two different structures.
There is also other way to compare two variables (including structs). For this a memcmp() function can be used, but it will not tell you directly, which fields are different.
Edited according to what @Tony_D said.