writeln the struct from the alis this Example from the home page
Martin Tschierschke
mt at smartdolphin.de
Thu Nov 18 13:51:42 UTC 2021
Hello, if you take the example from the home page, with the
additional last line:
```d
struct Point
{
private double[2] p;
// Forward all undefined symbols to p
alias p this;
double dot(Point rhs)
{
return p[0] * rhs.p[0] + p[1] * rhs.p[1];
}
}
void main()
{
import std.stdio : writeln;
// Point behaves like a `double[2]` ...
Point p1, p2; p1 = [2, 1], p2 = [1, 1];
assert(p1[$ - 1] == 1);
// ... but with extended functionality
writeln("p1 dot p2 = ", p1.dot(p2));
// additional line:
writeln(p1); // is not possible !
}
```
/usr/include/dmd/phobos/std/format.d(3193): Error: no [] operator
overload for type Point
..
...
How to define, that for Point the same formatting should be used
as for double[2] ?
More information about the Digitalmars-d-learn
mailing list