In C++17, does it make any difference to declare the default constructor as default in an aggregate, as in:
struct A {
A() = default;
int v;
};
vs relying on it being implicitly defined, as in:
struct A {
int v;
};
I understand that in C++20, declaring the constructor causes A to not be an aggregate. As I am switching our build flag to C++20, I'd like to just remove the constructor declaration so the structs remain aggregates, but I'm wondering is this has any side effect?