#include <iostream> using namespace std; struct Foo { struct { operator float() const { return 0.0f; } } bar; }; void bar(const float *f) {} int main() { Foo f; bar(&f.bar); return 0; }
Standard input is empty
prog.cpp: In function ‘int main()’: prog.cpp:14:12: error: cannot convert ‘Foo::<anonymous struct>*’ to ‘const float*’ for argument ‘1’ to ‘void bar(const float*)’ bar(&f.bar); ^
Standard output is empty