digitalmars.D - Multiple alias for multiple functions?
- Borislav Kosharov (21/21) Aug 08 2013 I want to make a simple Vector struct class:
- anonymous (10/32) Aug 08 2013 template data(int i) {
I want to make a simple Vector struct class: struct Vector { alias _data this; alias data!0 x, width; alias data!1 y, height; private: property float data(int i)() { return _data[i]; } property void data(int i)(float value) { _data[i] = value; } float[2] _data; } But I get two similar errors: Vector.data matches more than one template declaration, vector.d(9):data(int i)() and vector.d(13):data(int i)(float value) I see that it might cause problems to have ambiguous aliases, but does anyone know how I might implement this? Should I remove the struct and just make property x for float[2] and the others?
Aug 08 2013
On Thursday, 8 August 2013 at 20:14:58 UTC, Borislav Kosharov wrote:I want to make a simple Vector struct class: struct Vector { alias _data this; alias data!0 x, width; alias data!1 y, height; private: property float data(int i)() { return _data[i]; } property void data(int i)(float value) { _data[i] = value; } float[2] _data; } But I get two similar errors: Vector.data matches more than one template declaration, vector.d(9):data(int i)() and vector.d(13):data(int i)(float value) I see that it might cause problems to have ambiguous aliases, but does anyone know how I might implement this? Should I remove the struct and just make property x for float[2] and the others?template data(int i) { property float data() { return _data[i]; } property void data(float value) { _data[i] = value; } }
Aug 08 2013