Spaceship-operator: why the data-members must be public / triggers ICE
Klaus Doldinger
klaus.doldinger64@gmail.com
Wed Nov 13 09:24:00 GMT 2019
Hi all,
in the follwing example
#include <compare> // omitting trigger ICE
template<auto V>
struct A {};
struct B {
inline constexpr auto operator<=>(const B& rhs) const = default;
private:
int value; // why must this member be public?
};
int main() {
A<B{}> t;
}
why must the member value be public?
Side note: if I omit #include <compare> it triggers an ICE.
Compiler: gcc-trunk
More information about the Gcc-help
mailing list